2

我尝试使用带有本地 MediaWiki 的 mwclient 创建一个页面。使用 wikipedia.org 一切正常。使用我的本地 MediaWiki,我输入以下命令:

import mwclient
site = mwclient.Site("192.168.1.143")

结果是以下错误:

File "/Library/Python/2.7/site-packages/mwclient/http.py", line 152, in request
raise errors.HTTPStatusError, (res.status, res)
mwclient.errors.HTTPStatusError: (404, <httplib.HTTPResponse instance at 0x104368488>)

如果我在浏览器中输入 IP 或主机名,它就可以工作。与 ping 命令相同。

我使用了 url lib:

a=urllib.urlopen('http://www.google.com/asdfsf')
a.getcode()

并得到了200 OK代码。

这里有什么问题?有任何想法吗?

4

1 回答 1

2

问题是 mwclient 期望 api.php(它用于访问 wiki)位于/w/,这是用于 Wikimedia wiki 的位置,而不是直接位于 下/,这是默认值。

根据文档Site,您需要为此使用path参数:

site = mwclient.Site('192.168.1.143', path='/')
于 2013-05-14T11:57:33.700 回答