如何解决来自 MediaWiki 的重定向

How to resolve redirects from MediaWiki

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

例如,当我想阅读漫画 2423 的 explainxkcd 内容时,我可以使用 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]]"
          }]}]}}

我现在可以从 "#REDIRECT [[2423: Project Orion]]" 解析 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 或一般的网络 API - 你能给我一个提示吗?我 应该 来自

2423(我知道的通用索引)

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

无需手动合成来自 MediaWiki 答案的标题?

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

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

redirects: Automatically resolve redirects in query+titles, query+pageids, and query+revids, and in pages returned by query+generator.

Type: boolean (details)