[英]cURL GET request working on localhost, but no on web server
我正在使用cURL從網站獲取數組。 它在localhost上可以完美運行,但是當我將其上傳到Server時它返回NULL。 這是我的代碼:
$curl = curl_init();
$url = "http://staging.quran.com:3000/api/v3/chapters?language=en";
curl_setopt_array($curl, array(
CURLOPT_PORT => "3000",
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "{}",
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE)
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
注意:此網址僅適用於該網址,不適用於所有其他網址,例如Google.com等
這意味着我的服務器的cURL請求已啟用!
任何人都可以幫助我!
嘗試使用var_dump($response)
代替echo $response;
,如果我沒記錯的話, $response
是一個json對象,而不是一個字符串。
轉到以下stackoverflow鏈接卷曲請求在實時服務器上不起作用
檢查您請求的服務器是否阻止了來自服務器的請求。 嘗試從服務器的外殼程序ping到該服務器( http://staging.quran.com:3000/api/v3/chapters?language=en )
您的代碼沒有任何問題,此外,當訪問其他網站時,它可以在localhost和服務器上運行。
確保服務器允許 端口3000上的傳出連接
我很確定問題出在那兒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.