cURL GET 请求在本地主机上工作,但在 Web 服务器上没有



我正在使用cURL从网站获取数组。 它在本地主机上完美运行,但是当我将其上传到服务器时,它返回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对象而不是一个字符串。

转到以下堆栈溢出链接 curl 请求在实时服务器上不起作用

检查您请求的服务器是否阻止了来自服务器的请求。尝试从服务器的外壳 ping 到该服务器( http://staging.quran.com:3000/api/v3/chapters?language=en (

您的代码没有问题,此外,在访问其他网站时,它可以在本地主机和服务器上工作。

确保服务器允许端口 3000上的传出连接

我很确定问题就在那里。

相关内容

最新更新