eecdc 发表于 2015-8-30 11:11:40

利用PHP发送POST数据包

<?php
$flag = 0; //要post的数据
$argv = array('netuser'=>'A0004', 'netpwd'=>'A0004','IpPack'=>1234);
//构造要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("192.168.0.195",8100,$errno,$errstr,10) or exit($errstr."--->".$errno);
//构造post请求的头
$header = "POST /log.php HTTP/1.1\r\n";
$header .= "Host:1192.168.0.195:8100\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".$length."\r\n";
$header .= "Connection: Close\r\n\r\n";
//添加post的字符串
$header .= $params."\r\n";
//发送post的数据
fputs($fp,$header);
$inheader = 1;
while (!feof($fp)) {
    $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
    if ($inheader && ($line == "\n" || $line == "\r\n")) {
      $inheader = 0;
    }
    if ($inheader == 0) {
      echo $line;
    }
}
fclose($fp);
?>
页: [1]
查看完整版本: 利用PHP发送POST数据包