curl post请求两种传参方法及接收数据
冰貂主人
2023-12-07 17:30:42
0

问题描述:
    php文件中,通过curl,header头,body参数,验证通过后,接收对方的数据。传参有两种方式。

解决办法:

1. 传参格式 json
function post_http($array='',$url){ 

  $ch = curl_init(); 
  $header = array('Content-Type: application/json; charset=utf-8','Accept: application/json','secretKey:xxxxxxxx','signKey:xxxxxxxxxxx12'); 

  curl_setopt($ch, CURLOPT_URL, $url); 
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST'); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

  //https  //curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 2); 
  //curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
  // post数据 
  curl_setopt($ch, CURLOPT_POST, 1); 

  // post设置头 
  // curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8080');//设置代理服务器 

 //启用时会将头文件的信息作为数据流输出
  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  // post的变量
  $arr = json_encode($array);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $arr); 
  curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
  $result = curl_exec($ch); 
  if (curl_errno($ch)) { 
    return curl_error($ch); 

  }
  curl_close($ch); 
  //打印获得的数据 
  return json_decode($result,true); 

}
 
 
2. body体字符串式 表单传参 
function post_http($url){
  $body = "key=val&key1=val2";

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST,true);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

  curl_setopt($ch, CURLOPT_POSTFIELDS, $body);

  curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  $result = curl_exec($ch);
  if (curl_errno($ch)) {
    return curl_error($ch);

 }
  if (!curl_errno($curl)) {
  echo json_encode(['code'=>1001,'msg'=>'网络或者URL出错!','data'=>curl_errno($curl)]); exit();
  }
    //关闭cURL资源,并且释放系统资源   
    curl_close($ch);
    //打印获得的数据
    return json_decode($result,true);
}

相关内容

php curl获取流式数...
php curl获取流式数据
2024-04-16 13:55:24
curl post请求两种...
问题描述: php文件中,通过curl,header头,body参...
2023-12-07 17:30:42
Array and str...
PHP7.4不再支持使用大括号访问数组以及字符串的偏移_PHP代码...
2023-10-17 10:08:00
Array and str...
问题描述: thinkphp5 出现报错:Array and st...
2023-10-17 10:04:23
Array and str...
php版本太高了,设置7.3以下即可
2023-06-09 16:56:07
curl_setopt_a...
在guzzle(版本6.3)设置了option中 debug为tr...
2023-05-18 16:09:15

热门资讯

tp5 jquery判断手机端... application--common.php中添加如下代码 //函数作用是判断用户打开的是手机端还...
Laravel 5.5 .No... 创建了新的laravel项目后, 运行提示:No application encryption ke...
php 打印date函数出现错... 问题描述: 我使用的是phpstudy,在练习时间函数的时候,打印出现在的时间,date(Y-m-d...
生成随机字符唯一标识符guid... /** * @param $length * @return string * 生成随机字符串 */...
layui缩略图 div class=layui-form-item label class=layui-form-l...
php函数substr_rep... php函数substr_replace从某个位置替换或删除或插入字符串
Laravel 引入自定义类库... 强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况。!!当然,没有命名空间也可以...
object json转化为数... //调用api 程序,通知商户订单异常 20200314 public function callt...
Laravel 查看SQL操作... 方法一:临时打印操作记录 DB::connection()-enableQueryLog(); # ...
php银行开放平台接口:pfx... 问题描述: 对接易通银行,他们的服务开放平台是java开发,而我的是php,现在需要php版本的SD...