[PHP代码] php模拟post发送数据

来源:互联网 发布:中华姓氏家谱编辑软件 编辑:程序博客网 时间:2024/06/08 11:53
  1. <?PHP
  2. $flag = 0;
  3. //要post的数据
  4. $argv = array(
  5. 'var1'=>'abc',
  6. 'var2'=>'你好吗');
  7. //构造post字符串
  8. foreach ($argv as $key=>$value) {
  9. if ($flag!=0) {
  10. $params .= "&";
  11. $flag = 1;
  12. }http://www.kmrlyy.com/btrl/33485.html
  13. $params.= $key."="; $params.= urlencode($value);
  14. $flag = 1;
  15. }http://www.kmrlyy.com/penqiangyan/33486.html
  16. $length = strlen($params);
  17. //创建socket连接
  18. $fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
  19. //构造post请求的头
  20. $header = "POST /mobile/try.php HTTP/1.1";
  21. $header .= "Host:127.0.0.1";
  22. $header .= "Referer:/mobile/sendpost.php";
  23. $header .= "Content-Type: application/x-www-form-urlencoded";
  24. $header .= "Content-Length: ".$length."";
  25. $header .= "Connection: Close";http://www.kmrlyy.com/gongjingmilan/33487.html
  26. //添加post的字符串
  27. $header .= $params."";
  28. //发送post的数据
  29. fputs($fp,$header);
  30. $inheader = 1;
  31. while (!feof($fp)) {
  32. $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
  33. if ($inheader && ($line == "n" || $line == "")) {
  34. $inheader = 0;
  35. }http://www.kmrlyy.com/rlzjsj/33488.html
  36. if ($inheader == 0) {
  37. echo $line;
  38. }http://www.kmrlyy.com/gongjingxirou/33489.html
  39. }www.kmrlyy.com
  40. fclose($fp);
  41. ?>
0 0
原创粉丝点击