in this example, i have create a class of httpquery. It script is very simple used.
Bellow is code:
(save as class.httprequest.php or etc you want)
<?php
#By ArRay Dec 2nd, 2010
class HTTPRequest {
public $URL;
public $POST = false;
public $GET = true;
public $Data;
public $Port = 80;
public $Response;
public $Referer = "www.ExploreCrew.org";
public $Accept = "*/*";
public $UserAgent = "NetExplorer/5.0";
public $Connection = "Close";
function Query(){
$url = str_replace("http://","",$this->URL);
$host = explode("/",$url);
for($i=1;$i<count($host);$i++){
$path .= "/".$host[$i];
}
if(!$this->POST) $path .= "?".$this->Data;
$sock = @fsockopen($host[0],$this->Port,$errno,$errstr,30);
if ($sock) {
$request = (($this->POST)?"POST":"GET")." ".$path." HTTP/1.1\r\n";
$request .= "Host: ".$host[0]."\r\n";
$request .= "Referer: ".$this->Referer."\r\n";
$request .= "Accept: ".$this->Accept."\r\n";
$request .= "User-Agent: ".$this->UserAgent."\r\n";
$request .= ($this->POST)?"Content-type: application/x-www-form-urlencoded\r\n":"";
$request .= ($this->POST)?"Content-length: ".strlen($this->Data)."\r\n":"";
$request .= "Connection: ".$this->Connection."\r\n\r\n";
@fputs($sock,$request);
if($this->POST)@fputs($sock,$this->Data);
while (!@feof($sock)) {
$output .= @trim(@fgets($sock, 3600))."\n";
}
@fclose($sock);
}
else {
$output = "Can not connect to ".$host[0]." on port ".$this->Port;
}
$this->Response = $output;
}
}
?>
Then, How to use it? See Example bellow.
# Using GET method
By default, this code is using get method. So it can used without no option.
<?php
include_once("class.httprequest.php"); //include class
$http = new HTTPRequest; //create an object of httpquery
$http->URL = "www.your-site.com/action.php"; //page you want to request
$http->Data = "user=ArRay&id=4&val=zzz"; //a variable you want to send by GET method
$http->Query(); //do queries
if($http->Response){ //if request is done
echo "done";
echo $http->Response; // do it if you want to know the server response
}
exit;
?>
that queries same as:
http://www.your-site.com/action.php?user=ArRay&id=4&val=zzz
# Using POST method
to POST data to the server, just activate post method by add line bellow:
$http->POST = true;
then, all data you want to post, write in line. example:
Name=ArRay&Address=Kediri
it mean as:
Post variable Name with value ArRay
and variable Address with value Kediri
see example
<?php
include_once("class.httprequest.php");
$http = new HTTPRequest;
$http->URL = "www.your-site.com/action.php";
$http->Data = "Name=ArRay&Address=Kediri"; //a variable you want to send by POST method
$http->POST = true; // activate post method
$http->Query();
if($http->Response){
echo "done";
echo $http->Response;
}
exit;
?>
sumber : Class HTTP Query





0 komentar:
Posting Komentar