>  기사  >  백엔드 개발  >  php模拟post发送数据

php模拟post发送数据

WBOY
WBOY원래의
2016-07-25 08:45:121009검색
  1. $flag = 0;
  2. //要post的数据
  3. $argv = array(
  4. 'var1'=>'abc',
  5. 'var2'=>'你好吗');
  6. //构造post字符串
  7. foreach ($argv as $key=>$value) {
  8. if ($flag!=0) {
  9. $params .= "&";
  10. $flag = 1;
  11. }
  12. $params.= $key."="; $params.= urlencode($value);
  13. $flag = 1;
  14. }
  15. $length = strlen($params);
  16. //创建socket连接
  17. $fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
  18. //构造post请求的头
  19. $header = "POST /mobile/try.php HTTP/1.1";
  20. $header .= "Host:127.0.0.1";
  21. $header .= "Referer:/mobile/sendpost.php";
  22. $header .= "Content-Type: application/x-www-form-urlencoded";
  23. $header .= "Content-Length: ".$length."";
  24. $header .= "Connection: Close";
  25. //添加post的字符串
  26. $header .= $params."";
  27. //发送post的数据
  28. fputs($fp,$header);
  29. $inheader = 1;
  30. while (!feof($fp)) {
  31. $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
  32. if ($inheader && ($line == "n" || $line == "")) {
  33. $inheader = 0;
  34. }
  35. if ($inheader == 0) {
  36. echo $line;
  37. }
  38. }
  39. fclose($fp);
  40. ?>
复制代码

php, post


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.