Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 响应中显示503服务不可用_Php_Curl - Fatal编程技术网

Php 响应中显示503服务不可用

Php 响应中显示503服务不可用,php,curl,Php,Curl,我的url“www.example.com”在浏览器中工作,但当我通过url“www.example.com”的卷曲得到响应时,我得到503服务不可用的响应 我使用了以下代码: $url = 'http://www.example.com'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_CONNECTT

我的url“www.example.com”在浏览器中工作,但当我通过url“www.example.com”的卷曲得到响应时,我得到503服务不可用的响应

我使用了以下代码:

 $url = 'http://www.example.com';
   $curl_handle = curl_init();
    curl_setopt($curl_handle, CURLOPT_URL, $url);
    curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 0);
    curl_setopt($curl_handle, CURLOPT_TIMEOUT, 0);
    curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);  
    curl_setopt($curl_handle, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);
    $JsonResponse = curl_exec($curl_handle);
    $http_code = curl_getinfo($curl_handle);
    print_r($http_code);die;

我很确定远程服务器需要特定的HTTP头(例如cookies),比如会话令牌或语言首选项

您必须分析从浏览器发送到远程服务器的HTTP流量,并自己找到所需的HTTP头。我推荐一个像这样的工具

例如:

GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: foo=bar
Connection: keep-alive

假设远程服务器要求客户端发送一个名为
foo
的cookie,如果您忽略它,他可能会向您发送503或400错误消息。您也必须从cURL发送cookie,才能获得成功的响应,就像普通客户端一样。

我分析并添加了所需的自定义标头,但仍然收到503错误消息。@versha:您可以向我们提供您实际发送的更多信息吗?我们访问时会收到响应“”通过本地主机,但从远程服务器,我们得到503服务不可用错误。您能确认您的远程服务器甚至可以访问公共internet站点吗?这可能与curl无关,更多的是与远程服务器上的公共Internet可访问性有关。如果您可以远程连接到远程服务器(通过RDP或类似方式),是否可以在该服务器上启动浏览器以连接到任何公共internet站点?服务器的防火墙可能正在阻止这些连接。