1

我需要打开以下网址

$file = "http://en.wikipedia.org/w/api.php?action=parse&page=Kundapura&prop=text&format=xml"; 

$fp = fopen($file, "r"); 

但我收到警告 http 请求失败/403 被禁止

4

3 回答 3

5

默认的 PHP 用户代理被阻止;有关详细信息,请参阅Wikimedia 的用户代理政策。您可以ini_set在脚本顶部轻松更改用户代理,如下所示:

ini_set("user_agent", "Testing for http://stackoverflow.com/questions/5509640");

请注意,英文维基百科禁止通过 API 下载许多页面(而是提供数据库转储),并且除非获得批准,否则禁止实际编辑 wiki 的自动化过程。有关详细信息,请参阅他们的机器人政策

于 2011-04-01T11:10:20.253 回答
1

你需要这个文件做什么?如果您只需要输出,则可以尝试使用file_get_contents() ,然后将其作为字符串而不是文件加载和操作。

于 2011-04-01T05:56:14.793 回答
0

但我收到警告 http 请求失败/403 被禁止

403 错误来自他们的服务器 。

您或您正在使用的 IP 地址或区块上的某人可能已被严厉禁止使用 Wikipedia API。您需要联系维基百科的负责管理员进行调查。

于 2011-04-01T06:17:02.397 回答