2012-04-25 100 views
0

此代码适用于大多数网站像谷歌,YouTube和Facebook等,但它并不适用于一些网站如Technorati工作:如何下载此文件?

<?php 
$favicon="http://technorati.com/favicon.ico"; 
$content = file_get_contents($favicon); 
file_put_contents('favicon/icon.ico', $content); 

echo "<img src=\"http://localhost/test/favicon/icon.ico\" />"; 

?> 

//输出:

警告:的file_get_contents(http://technorati.com/favicon.ico ) [function.file-get-contents]:无法打开流:HTTP请求 失败! HTTP/1.1 403禁止在/opt/lampp/htdocs/test/simple.php上 线3

http://localhost/test/favicon/icon.ico

我怎样才能下载Technorati的图标?

+1

您可以手动完成 – Alp 2012-04-25 09:07:40

+1

Alp的解决方案绝对是代码最少的解决方案。少代码==少头痛。 – Jon 2012-04-25 09:08:33

+0

显然,我需要用PHP做到这一点:) – xRobot 2012-04-25 09:09:56

回答

0

看看当你发出请求,使用招或Wireshark的,例如会发生什么。

我的猜测是,Technorati网络服务器被配置为拒绝自动请求,它可能使用爬虫发送的用户代理进行检测。

使用cURL您可以更改用户代理。

0

尝试模仿浏览器,并设置用户代理的东西,technorati.com会喜欢:)

ini_set('user_agent', 'Name of your bot');