第一次使用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模板等精品素材、电商课程、推广引流课程等,尽在 天边资源网 。