通过代理获取 file_get_contents
我想使用 file_get_contents 和代理从互联网上读取一些页面/站点。 我想出了以下代码:
$opts = array('http' => array('proxy' => '14.199.56.205:8909', 'request_fulluri'=>;正确));
$context = stream_context_create($opts);
$test = file_get_contents('http://www.google.com', false, $context);
回显$test;
我从位于此处的列表中获取代理 http://www.hidemyass.com/proxy-list/
我测试了代理,它可以在浏览器中工作,但使用 file_get_contents 我只收到空白页面。
哪里有错误? :)
I want to read some pages/sites from the Internet by using file_get_contents and proxy.
I came up with the following code:
$opts = array('http' => array('proxy' => '14.199.56.205:8909',
'request_fulluri' => true));$context = stream_context_create($opts);
$test = file_get_contents('http://www.google.com', false, $context);
echo $test;
I took proxy from list located here http://www.hidemyass.com/proxy-list/
I tested proxy and it is working from browser, but with file_get_contents i just receive blank page.
Where is mistake? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
免费代理时好时坏,并且经常因为这样或那样的原因而失败。这是我使用的一个函数,它将随机尝试从代理数组中查找 HTTP 200 的 2 个代理。作为最后的手段,它使用 anonymouse.org 来获取文件。
Free proxies are hit or miss and regularly fail for one reason or another. Here is a function I use that will randomly try 2 proxies from an array of proxies looking for HTTP 200. As a last resort it uses anonymouse.org to get the file.
现在大多数网站都使用 HTTPS。因此,在您的
$opts
变量中,您应该使用“HTTPS”而不是“HTTP”。Nowadays most sites use HTTPS. Therefore, in your
$opts
variable you should use 'HTTPS' and not 'HTTP'.