利用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知识请持续关注本站,谢谢。