Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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 卷曲:“;不能';t连接到主机“;_Php_Curl_Proxy - Fatal编程技术网

Php 卷曲:“;不能';t连接到主机“;

Php 卷曲:“;不能';t连接到主机“;,php,curl,proxy,Php,Curl,Proxy,我过去已经解决了这个问题,但我肯定不记得是怎么解决的 所以,我尝试使用代理将一个网页获取到我的服务器 代码如下: function curlFile($url,$proxy_ip,$proxy_port,$loginpassw) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOP

我过去已经解决了这个问题,但我肯定不记得是怎么解决的

所以,我尝试使用代理将一个网页获取到我的服务器

代码如下:

function curlFile($url,$proxy_ip,$proxy_port,$loginpassw)
{

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
    curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
    curl_setopt($ch, CURLOPT_PROXY, $proxy_ip);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, false);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);


    $data = curl_exec($ch);

    if(curl_errno($ch)){
             echo 'Curl error: ' . curl_error($ch);
    }

    print_r(curl_getinfo($ch));
    print_r(curl_error($ch));

    print_r($data);

    curl_close($ch);

    return $data;
}
它当前的所有输出是:

function curlFile($url,$proxy_ip,$proxy_port,$loginpassw)
{

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
    curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
    curl_setopt($ch, CURLOPT_PROXY, $proxy_ip);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, false);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);


    $data = curl_exec($ch);

    if(curl_errno($ch)){
             echo 'Curl error: ' . curl_error($ch);
    }

    print_r(curl_getinfo($ch));
    print_r(curl_error($ch));

    print_r($data);

    curl_close($ch);

    return $data;
}
卷曲错误:无法连接到hostArray([url]=> [content\u type]=>[http\u code]=>0 [头大小]=>0[请求大小]=>0[文件时间]=>-1 [ssl\u验证\u结果]=>0[重定向\u计数]=>0[总时间]=> 0.007872[名称查找时间]=>0.007537[连接时间]=>0[预传输时间]=>0[大小上传]=>0[大小下载]=>0 [下载速度]=>0[上传速度]=>0[下载内容长度]=> -1[上传内容\u长度]=>-1[开始传输\u时间]=>0[重定向\u时间]=>0)无法连接到主机


有什么想法吗?可能出现什么问题?

您的Web服务器无法连接到代理

  • Web服务器上的本地安全设置-您没有说明这在哪个操作系统上运行
  • web服务器上的路由问题
  • 基于代理的防火墙策略
代理需要身份验证吗?(您应该从代理得到4xx响应-如果您有CLI adaccess,请尝试从命令行运行curl)


代理在查找时获得了一个NXDomain,或者没有获得您期望的IP地址。

您的Web服务器无法连接到代理

  • Web服务器上的本地安全设置-您没有说明这在哪个操作系统上运行
  • web服务器上的路由问题
  • 基于代理的防火墙策略
代理需要身份验证吗?(您应该从代理得到4xx响应-如果您有CLI adaccess,请尝试从命令行运行curl)


代理在查找时获得了一个NXDomain,或者没有获得您期望的IP地址。

在联机PHP平台上执行相同的脚本,然后查看结果。可能有几个问题

  • SSL验证问题。如果您向HTTPS网站发出请求,并且您的curl库未配置为信任证书,那么您将遇到问题。您可以下载其他网站的CA证书,并将curl库指向该方向

  • 如果您在大学/办公室网络上,可能是防火墙问题

  • 端口配置不正确


  • 联机运行相同的脚本,查看[ssl\u verify\u result]的结果。另请参见它所指向的HTTP代码

    在在线PHP平台上执行相同的脚本并查看结果。可能有几个问题

  • SSL验证问题。如果您向HTTPS网站发出请求,并且您的curl库未配置为信任证书,那么您将遇到问题。您可以下载其他网站的CA证书,并将curl库指向该方向

  • 如果您在大学/办公室网络上,可能是防火墙问题

  • 端口配置不正确

  • 联机运行相同的脚本,查看[ssl\u verify\u result]的结果。另请参见它所指向的HTTP代码