httpError using mwclient with local MediaWiki

问题描述 投票:0回答:1

我尝试使用带有本地 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
代码。

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

python http mediawiki wikipedia mwclient
1个回答
2
投票

问题是 mwclient 期望 api.php(它用来访问 wiki)位于

/w/
,这是用于维基媒体 wiki 的位置,而不是直接在
/
下,这是默认。

Per

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

site = mwclient.Site('192.168.1.143', path='/')
© www.soinside.com 2019 - 2024. All rights reserved.