添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

curl无输出返回空白或者null问题解决

如果发现标题类似问题,很有可能是因为ssl证书问题导致只需要在curl方法中加入以下代码即可:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//禁止 cURL 验证对等证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//是否检测服务器的域名与证书上的是否一致
  • 赠送个比较全的curl代码
* CURL请求函数:支持POST及基本header头信息定义 * @param [api_url:目标url | post_data:post参数 | header:头信息数组 | referer_url:来源url] * @return [code:状态码(200执行成功、400执行异常) | data:数据] function curl_request($api_url, $post_data = [], $header = [], $referer_url = ''){ $ch = curl_init();//初始化CURL句柄 curl_setopt( $ch, CURLOPT_URL, $api_url); /**配置返回信息**/ curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);//获取的信息以文件流的形式返回,不直接输出 curl_setopt( $ch, CURLOPT_HEADER, 0);//不返回header部分 /**配置超时**/ curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10);//连接前等待时间,0不等待 curl_setopt( $ch, CURLOPT_TIMEOUT, 5);//连接后等待时间,0不等待。如下载mp3 /**配置页面重定向**/ curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);//跟踪爬取重定向页面 curl_setopt( $ch, CURLOPT_MAXREDIRS, 10);//指定最多的HTTP重定向的数量 curl_setopt( $ch, CURLOPT_AUTOREFERER, 1); // 自动设置Referer /**配置Header、请求头、协议信息**/ curl_setopt( $ch, CURLOPT_HTTPHEADER, $header); curl_setopt( $ch, CURLOPT_ENCODING, "");//Accept-Encoding编码,支持"identity"/"deflate"/"gzip",空支持所有编码 curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" );//模拟浏览器头信息 $referer_url && curl_setopt( $ch, CURLOPT_REFERER, $referer_url);//伪造来源地址 //curl_setopt( $ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 ); //设置curl使用的HTTP协议 /**配置POST请求**/ if($post_data && is_array($post_data)){ curl_setopt( $ch, CURLOPT_POST, 1 );//支持post提交数据 curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query($post_data));// /**禁止证书验证防止curl输出空白**/ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//禁止 cURL 验证对等证书 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//是否检测服务器的域名与证书上的是否一致 $code = 200; //执行成功 $data = curl_exec( $ch ); //捕抓异常 if (curl_errno($ch)) { $code = 400; //执行异常 $data = curl_error($ch); curl_close( $ch ); return ['code' => $code, 'data' => $data]; 调用京东接口时,出现$response = null; 但是 生成的带有sign签名的 url地址可以在浏览器中获得接口返回的信息 爬了将近一天的坑,都没有走出来!!最终受高人指点,得到解决. 自己尝试过得解决方法: 1.别人封装的curl方法 无效 2.输出 curl_error 和 cu... 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具 curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,在"标准输出"(stdout)上显示。它支持多种协议 查看网站源码 直接在curl命令后加上网址,就可以看到网页源码 curl URL 如果要把这个网页保存下来,可以使用-o参数 curl -o [文件名] URL 有的网址是自
今天使用curl——get请求阿里的接口出现了返回空白问题,但是curl是我之前封装的函数,使用很多次了都没有问题,然后网上也没找到解决方法,后面打印了head查看发现是提示 HTTP/1.1 505 HTTP Version Not Supported Server: Tengine/2.1.0 Date: Fri, 21 Jun 2019 01:29:50 GMT Transfer...
成功时返回 TRUE, 或者在失败时返回 FALSE。 然而,如果 CURLOPT_RETURNTRANSFER选项被设置,函数执行成功时会返回执行的结果,失败时返回 FALSE 。 很多时候 CURLOPT_RETURNTRANSFER 没加导致只返回 0 / 1
Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 01 Dec 2020 08:01:30 GMT Connection: close 仔细一看发现返回但格式是gzip 所以要想显示请求体就要加上"–compressed"参数