2012-07-09 89 views
1

我开始尝试维基媒体,但我不知何故无法获得与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

使用https://en.wikipedia.org/wiki/Special:ApiSandbox#action=login&format=json进行实验。 – MaxSem 2012-07-09 12:55:38

回答

2

的两个问题你的要求:

  1. 您使用了错误的URL。正确的域名是en.wikipedia.org,而不是www.wikipedia.org。
  2. 默认情况下,RESTClient使用的内容类型为text/plain,但API预计为application/x-www-form-urlencoded

如果你纠正了这两个问题,你会得到正确的答案。

您也可能想要通过将format=xmlformat=json添加到请求中来指明您希望采用何种格式。默认值为HTML格式的XML,这对于在浏览器中显示非常有用,但不适用于您的应用程序使用。