利用PHP fsockopen 模拟POST/GET传送数据的方法
使用php可以模拟post和get传送数据到别的网页或站点
$arr=array(
'user'=>'test',
'password'=>''
);
sock_get($post_url,$arr);
sock_post($post_url,$arr);
//fsocket模拟get提交
functionsock_get($url,$query=array()){
$query_str=http_build_query($query);
$<spanid="_nwp"style="width:auto;height:auto;float:none;"><aid="_nwl"href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=info&k=info&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid="target="_blank"mpid=""style="text-decoration:none;"><spanstyle="color:#ff;font-size:px;width:auto;height:auto;float:none;">info</span></a></span>=parse_url($url);
$port=isset($info['port'])?$info['port']:;
$query_str=empty($info["query"])?$query_str:$info["query"].'&'.$query_str;
$fp=fsockopen($info["host"],$port,$errno,$errstr,);
if(!$fp){
returnFALSE;
}
//$<spanid="_nwp"style="width:auto;height:auto;float:none;"><aid="_nwl"href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=head&k=head&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid="target="_blank"mpid=""style="text-decoration:none;"><spanstyle="color:#ff;font-size:px;width:auto;height:auto;float:none;">head</span></a></span>="GET".$info['path']."?".$info["query"]."HTTP/.\r\n";
$head="GET".$info['path']."?".$query_str."HTTP/.\r\n";
$head.="Host:".$info['host']."\r\n";
$head.="\r\n";
$write=fputs($fp,$head);
while(!feof($fp)){
$<spanid="_nwp"style="width:auto;height:auto;float:none;"><aid="_nwl"href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=line&k=line&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid="target="_blank"mpid=""style="text-decoration:none;"><spanstyle="color:#ff;font-size:px;width:auto;height:auto;float:none;">line</span></a></span>=fread($fp,);
echo$line;
}
fclose($fp);
returntrue;
}
//fsockopen模拟POST
functionsock_post($url,$<spanid="_nwp"style="width:auto;height:auto;float:none;"><aid="_nwl"href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=&app_id=&c=news&cf=&ch=&di=&fv=&is_app=&jk=ecbeccb&k=data&k=data&kdi=&luki=&n=&p=baidu&q=_cpr&rb=&rs=&seller_id=&sid=bccbece&ssp=&stid=&t=tpclicked_hc&td=&tu=u&u=http%A%F%Fwww%Eixuexiwang%Ecom%Fphp%Dfunction%F%F%F%Ehtml&urlid="target="_blank"mpid=""style="text-decoration:none;"><spanstyle="color:#ff;font-size:px;width:auto;height:auto;float:none;">data</span></a></span>=array()){
$query=http_build_query($data);
$info=parse_url($url);
$fp=fsockopen($info["host"],,$errno,$errstr,);
$head="POST".$info['path']."?".$info["query"]."HTTP/.\r\n";
$head.="Host:".$info['host']."\r\n";
$head.="Referer:http://".$info['host'].$info['path']."\r\n";
$head.="Content-type:application/x-www-form-urlencoded\r\n";
$head.="Content-Length:".strlen(trim($query))."\r\n";
$head.="\r\n";
$head.=trim($query);
$write=fputs($fp,$head);
while(!feof($fp))
{
$line=fread($fp,);
echo$line;
}
}
以上内容是给大家分享的利用PHPfsockopen模拟POST/GET传送数据的方法,希望大家能够喜欢,更多有关phpfsockopen知识请持续关注本站,谢谢。