巧妙解决PHP中curl返回false值的方法

在这里插入图片描述
PHP开发中经常会遇到各种问题,就比如PHP中curl返回flase的情况应该如何解决,就这个问题本文给大家详细解答一下。
首先来看一个封装的curl函数
function request_post($url = ‘’, KaTeX parse error: Expected '}', got 'EOF' at end of input: … if (empty(url) || empty($param)) {
return false;
}
$postUrl = $url;
$curlPost = $param;
c u r l = c u r l i n i t ( ) ; / / c u r l c u r l s e t o p t ( curl = curl_init();//初始化curl curl_setopt( curl, CURLOPT_URL, p o s t U r l ) ; / / c u r l s e t o p t ( postUrl);//抓取指定网页 curl_setopt( curl, CURLOPT_HEADER, 0);//设置header
curl_setopt( c u r l , C U R L O P T R E T U R N T R A N S F E R , 1 ) ; / / c u r l s e t o p t ( curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 curl_setopt( curl, CURLOPT_POST, 1);//post提交方式
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);//提交的参数
d a t a = c u r l e x e c ( data = curl_exec( curl);//运行curl
curl_close($curl);
return KaTeX parse error: Expected 'EOF', got '}' at position 7: data; }̲ 调用…curl)获取错误也是 string(0) “” 空字符串。
最后发现自己调用的api的接口地址是ssl协议的,然后加上下面两个就可以了
curl_setopt( c u r l , C U R L O P T S S L V E R I F Y P E E R , f a l s e ) ; c u r l s e t o p t ( curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt( curl, CURLOPT_SSL_VERIFYHOST, false);
如果curl请求的地址中含有空格也会返回false的,这块也要格外注意。 之前还遇到过一个返回false打印curl_error(KaTeX parse error: Double subscript at position 166: …_HTTP_VERSION_1_̲0 (强制使用 HTTP/1.…curlp, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
文章来自:https://www.itjmd.com/news/show-5303.html

猜你喜欢

转载自blog.csdn.net/a6984021/article/details/85273921