curl post请求两种传参方法及接收数据
冰貂主人
2024-11-23 08:45:13
0

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

解决办法:
1. 传参格式 json
function post_http($array='',$url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //https false可能会带来安全风险,因为它使你的通信容易受到中间人攻击
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);//https
// curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8080');//设置代理服务器

// post数据 是否Post发送

curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
$arr = json_encode($array);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
$header = array('Content-Type: application/json;
charset=utf-8', 'Accept: application/json','secretKey:xxxxxxxx','signKey:xxxxxxxxxxx12');
//启用时会将头文件的信息作为数据流输出

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$result = curl_exec($ch);

//curl_errno返回最后一次 cURL 操作的错误代码。如果 cURL 操作失败,curl_errno 将返回一个相应的错误代码,否则返回 0

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);
}

//$errorinfo = curl_error($curl); //请求返回错误信息
//$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);

//关闭cURL资源,并且释放系统资源

curl_close($ch);
//打印获得的数据

return json_decode($result,true);
}


相关内容

PHP Curl 请求超时...
PHP Curl 请求超时设置可确保网络请求的稳定性和可靠性。通过...
2025-01-31 13:23:44
PHP Curl 发送HT...
PHP Curl是用于发送HTTP请求的强大工具,可灵活配置请求选...
2025-01-31 13:00:54
PHP Curl 错误处理
PHP cURL错误处理:通过开启错误报告、异常处理、参数验证和重...
2025-01-31 12:46:50
PHP Curl 请求头设...
PHP Curl 请求头设置是一种强大的工具,用于发送HTTP请求...
2025-01-31 11:00:52
PHP Curl 基础教程
PHP Curl教程:介绍PHP Curl的基础知识,包括安装配置...
2025-01-31 10:46:49
PHP Curl 异步请求...
PHP Curl库支持异步请求,通过多句柄管理器与curl_mul...
2025-01-31 10:23:51

热门资讯

为什么别人电脑能打开的网站我的... 有一个网站,在我的电脑上所有的浏览器都 打不开,显示连接失败。而在我同事的电脑上就可以打开。
战地安装错误总结 战地一安装完成后,点击运行,提示msv120.dll错误。我就把这个下载后安装在了C:\Window...
sublime 没有packa... 问题描述: 下载完sublimetext3之后查看preferences下面没有package co...
memcache,redis区... file,memcache,redis 区别 file memcache redis 位置 硬盘 内...
bootstrap三级城市级联... bootstrap三级城市级联, 需要引入的文件: script src = js/city-pic...
thinkphp使用ajax,... 1,html页面使用$.ajax $.ajax({ type:post, url:{:url(col...
局域网共享打印机 第一步:在打印机使用USB连接电脑(主机)上可以正常打印的情况下。检查主机window防火墙是否关闭...
v3 退款400 Bad Re... 报错: Client error: `POST https://api.mch.weixin.qq....
putty出现Couldn't... 更新版本就好了。
git快速下载地址 https://registry.npmmirror.com/binary.html?path=gi...