详解php中curl返回false的解决办法

é¦åæ¥çä¸ä¸ªå°è£çcurl彿°

function request_post($url = '', $param = '') {
 if (empty($url) || empty($param)) {
 return false;
 }
 $postUrl = $url;
 $curlPost = $param;
 $curl = curl_init();//åå§åcurl
 curl_setopt($curl, CURLOPT_URL,$postUrl);//æåæå®ç½é¡µ
 curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//è¦æ±ç»æä¸ºå­ç¬¦ä¸²ä¸è¾åºå°å±å¹ä¸
 curl_setopt($curl, CURLOPT_POST, 1);//postæäº¤æ¹å¼
 curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);//æäº¤çåæ°
 $data = curl_exec($curl);//è¿è¡curl
 curl_close($curl);
 
 return $data;
}

è°ç¨çæ¶åè¿åç»æä¸ºbool(false)

æä»¬å¨curl_exec彿°åé¢éè¿curl_error($curl)è·åéè¯¯ä¹æ¯ string(0) "" 空å­ç¬¦ä¸²ã

æååç°èªå·±è°ç¨çapiçæ¥å£å°åæ¯sslåè®®çï¼ç¶åå ä¸ä¸é¢ä¸¤ä¸ªå°±å¯ä»¥äº

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

妿curl请æ±çå°åä¸­å«æç©ºæ ¼ä¹ä¼è¿åfalseçï¼è¿åä¹è¦æ ¼å¤æ³¨æã

ä¹åè¿éå°è¿ä¸ä¸ªè¿åfalseæå°curl_error($curl)å¾å°çæ¯å¦ä¸é误

string(39) "Problem (2) in the Chunked-Encoded data" bool(false)

è¿ä¸ªé误çè§£å³åæ³è®¾ç½®curl使ç¨çHTTPåè®®çæ¬ï¼å°±æ¯å ä¸ä¸é¢è¿å¥

//CURL_HTTP_VERSION_1_0 (强å¶ä½¿ç¨ HTTP/1.0)
//CURL_HTTP_VERSION_1_1 (强å¶ä½¿ç¨ HTTP/1.1)ã
curl_setopt($curlp, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

ä»¥ä¸æè¿°æ¯å°ç¼ç»å¤§å®¶ä»ç»çphp中curlè¿åfalseçè§£å³åæ³è¯¦è§£æ´åï¼å¸æå¯¹å¤§å®¶ææå¸®å©ï¼å¦æå¤§å®¶æä»»ä½çé®è¯·ç»æçè¨ï¼å°ç¼ä¼åæ¶åå¤å¤§å®¶çã卿­¤ä¹é常æè°¢å¤§å®¶å¯¹èæ¬ä¹å®¶ç½ç«çæ¯æï¼

相关推荐