维基媒体登录不会返回令牌

时间:2012-07-09 12:12:27

标签: mediawiki wikipedia wikipedia-api mediawiki-api

我开始尝试维基媒体,但我不知道如何使用HTTP客户端(RESTClient Firefox和其他人)获取登录请求。这应该是相当简单的,但似乎失败了,或者我忽略了一些明显的事情。

我正在使用this site中的说明。

这是我在RESTClient中插入的内容:

enter image description here

我没有收回MediaWiki API结果,但是没有获得帮助页面(见下文)。 我在这做错了什么?感谢您的任何意见。

Status Code: 200 OK
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 38052
Content-Type: text/html; charset=utf-8
Date: Mon, 09 Jul 2012 11:50:51 GMT
MediaWiki-API-Error: help
Server: Apache
Vary: Accept-Encoding
X-Cache: MISS from sq33.wikimedia.org, MISS from amssq35.esams.wikimedia.org, MISS from amssq39.esams.wikimedia.org
X-Cache-Lookup: MISS from sq33.wikimedia.org:3128, MISS from amssq35.esams.wikimedia.org:3128, MISS from amssq39.esams.wikimedia.org:80
X-Content-Type-Options: nosniff


<!DOCTYPE HTML>
<html>
<head>
    <title>MediaWiki API</title>
</head>
<body>
<pre>
<span style="color:blue;">&lt;?xml version=&quot;1.0&quot;?&gt;</span>
<span style="color:blue;">&lt;api servedby=&quot;mw67&quot;&gt;</span>
<span style="color:blue;">&lt;error code=&quot;help&quot; info=&quot;&quot;
xml:space=&quot;preserve&quot;&gt;</span>

1 个答案:

答案 0 :(得分:2)

您的请求有两个问题:

  1. 您使用的是错误的网址。正确的域名是en.wikipedia.org,而不是www.wikipedia.org。
  2. 默认情况下,RESTClient似乎使用了text/plain的内容类型,但API期望application/x-www-form-urlencoded
  3. 如果你纠正了这两个问题,你会得到正确的答案。

    您还可以通过向请求添加format=xmlformat=json来指明您希望采用何种格式的响应。默认为HTML格式的XML,对于在浏览器中显示非常有用,但不适合应用程序使用。