第一次使用curl的put方式传参,后端获取不到参数,查了许久,发现参数要做相应处理,如果传递的是数组,那么需要用http_build_query函数转换下,转换之后的参数是name=abc&sex=1的形式。
参考链接:https://www.php.net/manual/zh/function.curl-setopt.php
最后,附上curl用GET POST PUT DELETE方式整合提交的代码
// Curl统一处理方法
function dealCurl($url,$method='GET',$data=null,$header=false){
// 创建一个新cURL资源
$ch = curl_init();
// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, $url); // 要访问的网站
curl_setopt($ch, CURLOPT_HEADER, false); // 启用时会将头文件的信息作为数据流输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 将curl_exec()获取的信息以字符串返回,而不是直接输出。
// curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 设置CURLOPT_FOLLOWLOCATION为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
if($method == 'POST'){
curl_setopt($ch, CURLOPT_POST, true); //发送 POST 请求
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
if($method == 'PUT'){
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
if($header){
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
// 抓取URL并把它传递给浏览器
$content = curl_exec($ch);
if ($content === false) {
return "网络请求出错: " . curl_error($ch);
exit();
}
//关闭cURL资源,并且释放系统资源
curl_close($ch);
return $content;
}
更多精彩内容:各种AI课程、技能课程、黑科技软件、网站小程序源码、副业小项目、PPT模板等精品素材、电商课程、推广引流课程等,尽在 天边资源网 。