php模拟post发送数据
时间:2021-07-01 10:21:17
帮助过:23人阅读
- <?PHP
- $flag = 0;
- //要post的数据
- $argv = array(
- 'var1'=>'abc',
- 'var2'=>'你好吗');
- //构造post字符串
- foreach ($argv as $key=>$value) {
- if ($flag!=0) {
- $params .= "&";
- $flag = 1;
- }
- $params.= $key."="; $params.= urlencode($value);
- $flag = 1;
- }
- $length = strlen($params);
- //创建socket连接
- $fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
- //构造post请求的头
- $header = "POST /mobile/try.php HTTP/1.1";
- $header .= "Host:127.0.0.1";
- $header .= "Referer:/mobile/sendpost.php";
- $header .= "Content-Type: application/x-www-form-urlencoded";
- $header .= "Content-Length: ".$length."";
- $header .= "Connection: Close";
- //添加post的字符串
- $header .= $params."";
- //发送post的数据
- fputs($fp,$header);
- $inheader = 1;
- while (!feof($fp)) {
- $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
- if ($inheader && ($line == "n" || $line == "")) {
- $inheader = 0;
- }
- if ($inheader == 0) {
- echo $line;
- }
- }
- fclose($fp);
- ?>
|
php, post