1

我开始尝试使用 Wikimedia,但不知何故无法使用 HTTP 客户端(RESTClient Firefox 和其他客户端)获取登录请求。这应该相当简单,但它似乎失败了,或者我忽略了一些明显的东西。

我正在使用本网站的说明。

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

在此处输入图像描述

我没有返回 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>
4

1 回答 1

2

您的请求有两个问题:

  1. 您使用了错误的网址。正确的域是 en.wikipedia.org,而不是 www.wikipedia.org。
  2. RESTClient 似乎text/plain默认使用 Content-Type ,但 API 需要application/x-www-form-urlencoded.

如果您纠正了这两个问题,您将得到正确的响应。

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

于 2012-07-09T13:16:51.897 回答