python - 在本地 MediaWiki 中使用 mwclient 时出现 httpError

标签 python http mediawiki wikipedia mwclient

我尝试使用 mwclient 和本地 MediaWiki 创建页面。 使用 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/,这是用于 Wikimedia wiki 的位置,而不是直接位于 / 下,这是默认设置。

the documentation for Site ,您需要使用 path 参数:

site = mwclient.Site('192.168.1.143', path='/')

关于python - 在本地 MediaWiki 中使用 mwclient 时出现 httpError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538353/

相关文章:

javascript - 忽略 Node 中 HTTP 请求的 header 验证

php - 尝试连接到 Mysql 安装 mediawiki 时权限被拒绝

python - 如何使用 pandas 或其他方式在 python 中拆分 CSV 文件中的值?

python - 按下按键时保存图像 Python/Opencv

python - cv2.circle() 未显示

php http header

python - MemoryError 与 numpy arange

ios - 如何在 iOS 中检查 Web 服务器的状态?

linux - MediaWiki 无法让 LDAP 身份验证工作

php - 安装 MediaWiki 时出错