首页 > php教程 > php手册 > 正文

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

WBOY
发布: 2016-06-06 19:44:17
原创
1288 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板