file_get_content():"没有这样的文件或目录"代理人背后

时间:2017-11-14 09:39:27

标签: php http proxy

我尝试使用PHP从Internet获取数据。在工作中,我在密码保护代理之后,这似乎会造成麻烦。

我已经在StackOverflow和其他几个平台上查阅过很多帖子,每个平台都给我一个不同的解决方案,但没有一个可以满足我的需求。

var_dump(stream_get_wrappers());

$opts = array("http" => ['proxy'=>'user:password@webproxy.xxx.intra:####',
                        'request_fulluri' => True]
        );

stream_context_set_default($opts);

$homepage = file_get_contents("www.google.com");
echo $homepage;

我已根据我之前阅读过的帖子中的建议添加var_dump(stream_get_wrappers());,返回: [https,ftps,compress.zlib,compress.bzip2, php,文件,glob,数据,http,ftp,phar,zip]

我得到的警告如下:

  

PHP警告:file_get_contents(www.google.com):无法打开流:没有此类文件   或第15行/home/user/project/app/connector.php中的目录

第15行为$homepage = file_get_contents("www.google.com");

我已经被困在那里太久了,非常感谢任何帮助。

谢谢。

编辑:我添加了" http://"到地址的开头,给我这个错误:

  

PHP警告:file_get_contents(google.com):无法打开流:   php_network_getaddresses:getaddrinfo失败:名称或服务没有   在第15行的/home/user/project/app/connector.php中已知

由于某种原因,这个错误显示了两次,第二个错误信息几乎相同。

1 个答案:

答案 0 :(得分:0)

经过更多的搜索,我得出的是:

$auth = base64_encode('login:password');

$opts = array(
    'http' => array(
        'proxy' => 'tcp://proxy_host:proxy_port',
        'request_fulluri' => true,
        'header' => "Proxy-Authorization: Basic $auth",
    ),
);
$context = stream_context_create($opts);

$file = file_get_contents("http://www.google.com", False, $context);
echo $file;

这似乎工作正常。 感谢您的帮助和建议。