我尝试使用带有本地 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
代码。
这里有什么问题?有什么想法吗?
问题是 mwclient 期望 api.php(它用来访问 wiki)位于
/w/
,这是用于维基媒体 wiki 的位置,而不是直接在 /
下,这是默认。
Site
的文档,您需要为此使用path
参数:
site = mwclient.Site('192.168.1.143', path='/')