博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP模拟POST提交数据三种方式
阅读量:6993 次
发布时间:2019-06-27

本文共 1172 字,大约阅读时间需要 3 分钟。

  PHP模拟POST提交数据有file_get_contents、curl和socket,他们都可以通过模拟POST提交,实现POST数据传输。

  file_get_contents模拟POST提交:

  $arr=array(‘http’=>array(‘method’=>’POST’,’content’=>’name=wang&pwd=123′));

  $result = file_get_contents(“www.wangzhiguang.com.cn”,false,stream_context_create($arr))

  

  curl模拟POST提交:

  $arr = array(

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_HEADER => false,

  CURLOPT_POST => true,

  CURLOPT_POSTFIELDS => array(‘name’=>’wang’,’pwd’=>’123′)

  );

  $ch = curl_init($url);

  curl_setopt_array($ch, $arr);

  $result = curl_exec($ch);

  curl_close($ch);

  socket来模拟POST提交:

  $url = “www.wangzhiguang.com.cn”;

  $host = 80;

  $content = ‘name=wang&pwd=123′;

  $fp = fsockopen($content, $host, $errno, $errstr);

  $length = strlen($content);

  $header = <<<HEADER

  POST {$url} HTTP/1.1

  Host: {$host}

  Content-Type: application/x-www-form-urlencoded

  Content-Length: {$length}

  Connection: close

  {$content}

  HEADER;

  fwrite($fp, $header);

  while (!feof($fp)) {

  $result .= fread($fp, 512);

  }

  

  $result = explode(“\r\n\r\n”, $result, 2);

  connection: close和post数据之间要空一行

  最好通过返回值$result你就可以看到发送状态了。

转载于:https://www.cnblogs.com/liuxinyufx/p/4101192.html

你可能感兴趣的文章
simplified build configuration
查看>>
Turn the corner (三分)
查看>>
java Webservice(一)HttpClient使用(一)
查看>>
cookie (储存在用户本地终端上的数据)
查看>>
你真的会玩SQL吗?之逻辑查询处理阶段
查看>>
用字体制作小图标
查看>>
python之函数用法startswith()
查看>>
while(scanf("%d",&n)!=EOF)与while(cin>>n)
查看>>
BigTale
查看>>
UITabBarController 笔记(一)AppDelegate中加UITabBarController 为 rootViewController
查看>>
oracle基础备份和还原
查看>>
Velocity 语法示例
查看>>
golang的ssh例子
查看>>
【python】pymongo中正则查询时的转义问题
查看>>
立足“快时尚”,联想笋尖S90怎样诠释“比美更美”?
查看>>
linux下执行strlwr函数出错:ld returned 1 exit status
查看>>
WSADATA
查看>>
各大引擎矩阵的矩阵存储方式 ----行矩阵 or 列矩阵
查看>>
html 跳转页面,同时跳转到一个指定的位置
查看>>
solr的suggest模块
查看>>