欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php模拟post发送数据

程序员文章站 2022-05-03 23:10:03
...
  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