QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

PHP基础

php中curl模拟post提交多维数组

 admin  2019-11-01 11:44:48
由于curl传递多维参数的时候,二维数组的内容会被直接传递成array,造成无法接受,所以需要对二维码数组做一些处理
参考:
  1. //通过curl模拟post的请求; 
  2. function SendDataByCurl($url,$data=array()){ 
  3.     //对空格进行转义 
  4.     $url = str_replace(' ','+',$url); 
  5.     $ch = curl_init(); 
  6.     //设置选项,包括URL 
  7.     curl_setopt($ch, CURLOPT_URL, "$url"); 
  8.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  9.     curl_setopt($ch, CURLOPT_HEADER, 0); 
  10.     curl_setopt($ch,CURLOPT_TIMEOUT,3);  //定义超时3秒钟   
  11.      // POST数据 
  12.     curl_setopt($ch, CURLOPT_POST, 1); 
  13.     // 把post的变量加上 
  14.     curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));    //所需传的数组用http_bulid_query()函数处理一下,就ok了 
  15.      
  16.     //执行并获取url地址的内容 
  17.     $output = curl_exec($ch); 
  18.     $errorCode = curl_errno($ch); 
  19.     //释放curl句柄 
  20.     curl_close($ch); 
  21.     if(0 !== $errorCode) { 
  22.         return false
  23.     } 
  24.     return $output; 
  25.  
http_build_query方法解释:
http_build_query()函数的作用是使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。

写法格式:http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )

打个比方:$data = array("name"=>"callback" , "value"=>"test");

$rescult = http_build_query($data);

我们输出下$rescutl可以得到:

name=callback&value=test

这个有什么用呢,这是模拟http请求的,把得到的数据data通过函数URL-encode,一般是用在回调。



¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《php中curl模拟post提交多维数组》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/html/php/796.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序