首页 > 解决方案 > 如何解决来自 MediaWiki 的重定向

问题描述

我目前正在尝试阅读 MediaWiki 网站的内容,我只知道一个通​​用 URL,它将我重定向到“真实”内容:

例如,当我想阅读漫画的explainxkcd 内容时2423,我可以将2423其用作标题和请求

https://www.explainxkcd.com/wiki/api.php?action=query&prop=revisions&rvprop=content&formatversion=2&format=json&titles=2423

这给了我

{
  "batchcomplete": true,
  "query": {
    "pages": [
      {
        "pageid": 23828,
        "ns": 0,
        "title": "2423",
        "revisions": [
          {
            "contentformat": "text/x-wiki",
            "contentmodel": "wikitext",
            "content": "#REDIRECT [[2423: Project Orion]]"
          }]}]}}

我现在可以解析2423: Project Orion"#REDIRECT [[2423: Project Orion]]"手动将其转换为titles=2423:_Project_Orion给我

https://www.explainxkcd.com/wiki/api.php?action=query&prop=revisions&rvprop=content&titles=2423:_Project_Orion

但这感觉很奇怪,而且手动无用。不幸的是,我一般不太喜欢 MediaWiki 或 Web API - 你能给我一个提示,我应该从哪里来吗?

2423(我知道的通用索引)

https://www.explainxkcd.com/wiki/api.php?action=query&prop=revisions&rvprop=content&titles=2423:_Project_Orion(我要查询的网址)

无需从 MediaWiki 答案中手动合成标题?

标签: redirectmediawikimediawiki-api

解决方案


添加&redirects=1到您的查询字符串:

https://www.explainxkcd.com/wiki/api.php?action=query&prop=revisions&rvprop=content&formatversion=2&format=json&titles=2423&redirects=1

redirects:自动解析 query+titles、query+pageids 和 query+revids 以及 query+generator 返回的页面中的重定向。

类型:布尔值(详细信息)


推荐阅读