使用fsockopen发送post信息的函数
作者/来源:zhao214
使用fsockopen发送post信息的函数
zhao214
function httprequest($fp,$url,$http_method,$body="",$referer="")
{
$httpversion = "HTTP/1.0";
$agent = "zhao214/1.0";
$accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
$content_type = "application/x-www-form-urlencoded";
if(empty($url))
$url = "/";
$headers = $http_method." ".$url." ".$httpversion." ";
if(!empty($agent))
$headers .= "User-Agent: ".$agent." ";
if(!empty($accept))
$headers .= "Accept: ".$accept." ";
if(!empty($referer))
$headers .= "Referer: ".$referer." ";
if($http_method == "POST") {
if(!empty($body)) {
$headers .= "Content-type: $content_type ";
$headers .= "Content-length: ".strlen($body)." ";
}
}
$headers .= " ";
fwrite($fp,$headers.$body);
while($currentHeader = fgets($fp,4096)) {
if($currentHeader == " ")
break;
}
$pagecontent = fread($fp,500000);
return $pagecontent;
}
/////////example::
$data = "";
while(list($k,$v) = each($HTTP_POST_VARS)){
$data .= urlencode($k)."=".urlencode($v)."&";
}
$fp = fsockopen("localhost", 80, &$errno, &$errstr, 100);
$out = httprequest($fp,"/someurl.php","POST",$data);
print $out;
}
method=post>
name
pass
