Rumah  >  Artikel  >  php教程  >  利用PHP fsockopen 模拟POST/GET传送数据的方法

利用PHP fsockopen 模拟POST/GET传送数据的方法

WBOY
WBOYasal
2016-06-06 19:44:171292semak imbas

使用php可以模拟post和get传送数据到别的网页或者是站点,那么怎么传送数据呢?下面由小编给大家介绍利用PHP fsockopen 模拟POST/GET传送数据的方法,需要的朋友

使用php可以模拟 post 和 get 传送数据到别的网页或站点

$arr=array( 'user'=>'test', 'password'=>'' ); sock_get($post_url,$arr); sock_post($post_url,$arr); //fsocket模拟get提交 function sock_get($url,$query=array()){ $query_str = http_build_query($query); $info = 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){ return FALSE; } //$head = "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)){ $line = fread($fp,); echo $line; } fclose($fp); return true; } //fsockopen模拟POST function sock_post($url,$data=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: ".$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; } }

以上内容是给大家分享的利用PHP fsockopen 模拟POST/GET传送数据的方法,希望大家能够喜欢,,更多有关php fsockopen知识请持续关注本站,谢谢。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn