使用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模拟postfunction 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: 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; }}
以上内容是给大家分享的利用php fsockopen 模拟post/get传送数据的方法,希望大家能够喜欢,更多有关php fsockopen知识请持续关注本站,谢谢。