繁体   English   中英

cURL GET请求在localhost上有效,但在Web服务器上不可用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM