2011-04-01 318 views
0

我需要打开以下网址如何使用fopen()打开远程文件?

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

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

,但我geeting警告HTTP请求失败禁止/ 403

+1

@blueshift,那是[简单地不正确](http://us2.php.net/manual/en/wrappers.php)。默认配置包括十几种不同的包装,包括HTTP。 – Charles 2011-04-01 06:15:18

+0

@Charles哦,你是对的。也许我应该坚持C问题.. – blueshift 2011-04-01 08:29:41

回答

0

,但我geeting警告HTTP请求失败/ 403禁止

403 error从他们的服务器来。

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

+0

请注意,维基百科管理员无法检查这种事情,你需要找到维基媒体系统管理员。但幸运的是,唯一的问题极有可能是Raghs方面的错误配置。 – Anomie 2011-04-01 11:12:04

1

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

+0

我需要解析它的应用程序 – Raghs 2011-04-01 05:59:54

4

默认的PHP用户代理被阻止;详情请参见Wikimedia's User-Agent policy。你可以很轻松地更改使用ini_set您的用户代理在脚本的顶部,这样的:

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

请注意,英文维基百科不允许对通过API下载很多网页(提供database dumps代替),而自动化流程除非approved禁止实际编辑Wiki。有关详细信息,请参阅their bot policy