fsockopen post表单

2006-04-27bailing
需要注意:
1.form的数据必须用rawurlencode编码联起来。
2.必须提交content-length长度
3.post表单的数据必须跟在\r\n\r\n后面。


$data["channel"]=$moRow['serviceCode'];
$data["mobile"]=$moRow['mobile'];
$data["gateway"]=$moRow['gateway'];
$data["isp"]=$moRow['isp'];
$data["linkid"]=$moRow['linkid'];
$data["msg"]=$content;


while (list($k,$v) = each($data)) {
$post .= rawurlencode($k)."=".rawurlencode($v)."&";
}
$post = substr( $post , 0 , -1 );
$len = strlen($post);
//发送
$host = "localhost";
$file = "/mtApp/send.php";
$fp = @fsockopen( $host , 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)\n";
} else {
	$receive = '';
    $out = "POST $file HTTP/1.1\r\n";
    $out .= "Host: $host\r\n";
	$out .= "Content-type: application/x-www-form-urlencoded\r\n";
    $out .= "Connection: Close\r\n";
	$out .= "Content-Length: $len\r\n";
	$out .="\r\n";
	$out .= $post."\r\n";
	echot($out);
    fwrite($fp, $out);
    while (!feof($fp)) {
        $receive .= fgets($fp, 128);
    }
    fclose($fp);
}

echo $receive;







一个普通的post头 POST /cgi-bin/tech/method.cgi HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-
powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://localhost//other.html
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: localhost:8080
Content-Length: 9
Connection: Keep-Alive

相关文章:

  • 2022-12-23
  • 2021-10-05
  • 2021-10-04
  • 2022-12-23
  • 2021-10-25
  • 2022-12-23
猜你喜欢
  • 2021-07-28
  • 2022-12-23
  • 2022-02-03
  • 2021-09-15
  • 2022-12-23
  • 2021-07-30
  • 2021-07-09
相关资源
相似解决方案