API:Query

From mediawiki.org
This page is a translated version of the page API:Query and the translation is 100% complete.

Le module action=query vous permet de récupérer l'information concernant un wiki et les données qu'il contient telles que le wikicode d'un page donnée, les liens et les catégories d'un ensemble de pages, ou le jeton dont vous avez besoin pour modifier le contenu du wiki .

Documentation de l'API


action=query

(main | query)

Fetch data from and about MediaWiki.

All data modifications will first have to use query to acquire a token to prevent abuse from malicious sites.

Specific parameters:
Other general parameters are available.
prop

Which properties to get for the queried pages.

categories
List all categories the pages belong to.
categoryinfo
Returns information about the given categories.
cirrusbuilddoc
Dump of a CirrusSearch article document from the database servers
cirruscompsuggestbuilddoc
Dump of the document used by the completion suggester
cirrusdoc
Dump of a CirrusSearch article document from the search servers
contributors
Get the list of logged-in contributors and the count of logged-out contributors to a page.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
extlinks
Returns all external URLs (not interwikis) from the given pages.
extracts
Returns plain-text or limited HTML extracts of the given pages.
fileusage
Find all pages that use the given files.
globalusage
Returns global image usage for a certain image.
imageinfo
Returns file information and upload history.
images
Returns all files contained on the given pages.
info
Get basic page information.
iwlinks
Returns all interwiki links from the given pages.
langlinks
Returns all interlanguage links from the given pages.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
mmcontent
Get the description and targets of a spamlist
pageimages
Returns information about images on the page, such as thumbnail and presence of photos.
pageprops
Get various page properties defined in the page content.
pageterms
Get the Wikidata terms (typically labels, descriptions and aliases) associated with a page via a sitelink.
pageviews
Shows per-page pageview data (the number of daily pageviews for each of the last pvipdays days).
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
stashimageinfo
Returns file information for stashed files.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
transcodestatus
Get transcode status for a given file page.
videoinfo
Extends imageinfo to include video source (derivatives) information
wbentityusage
Returns all entity IDs used in the given pages.
flowinfo
Deprecated. Get basic Structured Discussions information about a page.
description
Internal. Get a short description a.k.a. subtitle explaining what the target page is about.
mapdata
Internal. Request all Kartographer map data for the given pages
Values (separate with | or alternative): categories, categoryinfo, cirrusbuilddoc, cirruscompsuggestbuilddoc, cirrusdoc, contributors, deletedrevisions, duplicatefiles, extlinks, extracts, fileusage, globalusage, imageinfo, images, info, iwlinks, langlinks, links, linkshere, mmcontent, pageimages, pageprops, pageterms, pageviews, redirects, revisions, stashimageinfo, templates, transcludedin, transcodestatus, videoinfo, wbentityusage, flowinfo, description, mapdata
list

Which lists to get.

abusefilters
Show details of the abuse filters.
abuselog
Show events that were caught by one of the abuse filters.
allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
allusers
Enumerate all registered users.
backlinks
Find all pages that link to the given page.
betafeatures
List all BetaFeatures
blocks
List all blocked users and IP addresses.
categorymembers
List all pages in a given category.
centralnoticeactivecampaigns
Get a list of currently active campaigns with start and end dates and associated banners.
centralnoticelogs
Get a log of campaign configuration changes.
checkuser
Check which IP addresses are used by a given username or which usernames are used by a given IP address.
checkuserlog
Get entries from the CheckUser log.
embeddedin
Find all pages that embed (transclude) the given title.
extdistrepos
Returns the list of repositories supported by ExtensionDistributor
exturlusage
Enumerate pages that contain a given URL.
filearchive
Enumerate all deleted files sequentially.
gadgetcategories
Returns a list of gadget categories.
gadgets
Returns a list of gadgets used on this wiki.
globalallusers
Enumerate all global users.
globalblocks
List all globally blocked IP addresses.
globalgroups
Enumerate all global groups.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
linterrors
Get a list of lint errors
logevents
Get events from logs.
messagecollection
Query MessageCollection about translations.
mostviewed
Lists the most viewed pages (based on last day's pageview count).
mystashedfiles
Get a list of files in the current user's upload stash.
pagepropnames
List all page property names in use on the wiki.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
search
Perform a full text search.
tags
List change tags.
threads
Show details of LiquidThreads threads.
usercontribs
Get all edits by a user.
users
Get information about a list of users.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
wblistentityusage
Returns all pages that use the given entity IDs.
wikisets
Enumerate all wiki sets.
deletedrevs
Deprecated. List deleted revisions.
extdistbranches
Internal. Returns the list of branches for a repository supported by ExtensionDistributor
readinglistentries
Internal. List the pages of a certain list.
Values (separate with | or alternative): abusefilters, abuselog, allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, allusers, backlinks, betafeatures, blocks, categorymembers, centralnoticeactivecampaigns, centralnoticelogs, checkuser, checkuserlog, embeddedin, extdistrepos, exturlusage, filearchive, gadgetcategories, gadgets, globalallusers, globalblocks, globalgroups, imageusage, iwbacklinks, langbacklinks, linterrors, logevents, messagecollection, mostviewed, mystashedfiles, pagepropnames, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, search, tags, threads, usercontribs, users, watchlist, watchlistraw, wblistentityusage, wikisets, deletedrevs, extdistbranches, readinglistentries
Maximum number of values is 50 (500 for clients that are allowed higher limits).
meta

Which metadata to get.

allmessages
Return messages from this site.
authmanagerinfo
Retrieve information about the current authentication status.
babel
Get information about what languages the user knows
featureusage
Get a summary of logged API feature usages for a user agent.
filerepoinfo
Return meta information about image repositories configured on the wiki.
globalpreferences
Retrieve global preferences for the current user.
globalrenamestatus
Show information about global renames that are in progress.
globaluserinfo
Show information about a global user.
languageinfo
Return information about available languages.
languagestats
Query language stats.
linterstats
Get number of lint errors in each category
managemessagegroups
Fetch possible renames for a message in a group during imports
messagegroups
Return information about message groups.
messagegroupstats
Query message group stats.
messagetranslations
Query all translations for a single message.
notifications
Get notifications waiting for the current user.
siteinfo
Return general information about the site.
siteviews
Shows sitewide pageview data (daily pageview totals for each of the last pvisdays days).
tokens
Gets tokens for data-modifying actions.
unreadnotificationpages
Get pages for which there are unread notifications for the current user.
userinfo
Get information about the current user.
wikibase
Get information about the Wikibase client and the associated Wikibase repository.
oath
Internal. Check to see if two-factor authentication (OATH) is enabled for a user.
readinglists
Internal. List or filter the user's reading lists and show metadata about them.
Values (separate with | or alternative): allmessages, authmanagerinfo, babel, featureusage, filerepoinfo, globalpreferences, globalrenamestatus, globaluserinfo, languageinfo, languagestats, linterstats, managemessagegroups, messagegroups, messagegroupstats, messagetranslations, notifications, siteinfo, siteviews, tokens, unreadnotificationpages, userinfo, wikibase, oath, readinglists
indexpageids

Include an additional pageids section listing all returned page IDs.

Type: boolean (details)
export

Export the current revisions of all given or generated pages.

Type: boolean (details)
exportnowrap

Return the export XML without wrapping it in an XML result (same format as Special:Export). Can only be used with query+export.

Type: boolean (details)
exportschema

Target the given version of the XML dump format when exporting. Can only be used with query+export.

One of the following values: 0.10, 0.11
Default: 0.10
iwurl

Whether to get the full URL if the title is an interwiki link.

Type: boolean (details)
continue

When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.

rawcontinue

Return raw query-continue data for continuation.

Type: boolean (details)
titles

A list of titles to work on.

Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
pageids

A list of page IDs to work on.

Type: list of integers
Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
revids

A list of revision IDs to work on. Note that almost all query modules will convert revision IDs to the corresponding page ID and work on the latest revision instead. Only prop=revisions uses exact revisions for its response.

Type: list of integers
Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
generator

Get the list of pages to work on by executing the specified query module.

Note: Generator parameter names must be prefixed with a "g", see examples.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
backlinks
Find all pages that link to the given page.
categories
List all categories the pages belong to.
categorymembers
List all pages in a given category.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
fileusage
Find all pages that use the given files.
images
Returns all files contained on the given pages.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
messagecollection
Query MessageCollection about translations.
mostviewed
Lists the most viewed pages (based on last day's pageview count).
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
search
Perform a full text search.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
wblistentityusage
Returns all pages that use the given entity IDs.
readinglistentries
Internal. List the pages of a certain list.
One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, messagecollection, mostviewed, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw, wblistentityusage, readinglistentries
redirects

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

Type: boolean (details)
converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include ban, en, crh, gan, iu, ku, sh, shi, sr, tg, tly, uz, wuu and zh.

Type: boolean (details)

Modules du Query

Le module de requête possède trois types de sous-modules (appelés également modules de requête) :

  • Les informations meta concernant le wiki et l'utilisateur connecté.
  • les propriétés des pages, incluant les révisions des pages et le contenu.
  • Les listes des pages correspondant à certains critères.

Exemples

Exemple 1: spécifier des pages

A la différence des modules de requête des données meta et des listes, tous les modules de requête de propriété fonctionnent avec une liste de pages que l'on peut spécifier avec l'une des manières suivantes :

  • Par le nom, en utilisant le paramètre titles ; par exemple titles=Foo|Bar|Main_Page.
  • Par l'ID de la page, en utilisant le paramètre pageids ; par exemple pageids=123|456|75915.
  • Par l'ID de révision, en utilisant le paramètre revids ; par exemple revids=478198|54872|54894545. La plupart des modules de requête convertissent l'ID de révision en ID de la page correspondante. Seul prop=revisions utilise actuellement directement l'ID de révision.
  • En utilisant un générateur.

Requête GET


Réponse

{
    "batchcomplete": true,
    "query": {
        "pages": [
            {
                "pageid": 1130,
                "ns": 0,
                "title": "Avicenna"
            },
            {
                "pageid": 17412,
                "ns": 0,
                "title": "Klein bottle"
            },
            {
                "pageid": 33642,
                "ns": 0,
                "title": "Warrant"
            }
        ]
    }
}

Exemple 2: normalisation du titre

La normalisation des titres transforme le titre des page en leur forme canonique.

Cela veut dire qu'elle met en majuscule le premier caractère du titre, remplace les caractères souligné '_' par des espaces, et traduit le nom de l'espace de noms en sa forme locale, telle qu'elle a été définie pour ce wiki.

Tout passage à la ligne à la fin du titre de la page (\n) génère un comportement non attendu et doit d'abord être supprimé.

Requête GET


Réponse

{
    "batchcomplete": true,
    "query": {
        "normalized": [
            {
                "fromencoded": false,
                "from": "Project:articleA",
                "to": "Wikipedia:ArticleA"
            },
            {
                "fromencoded": false,
                "from": "article_B",
                "to": "Article B"
            }
        ],
        "pages": [
            {
                "ns": 0,
                "title": "Article B",
                "missing": true
            },
            {
                "ns": 4,
                "title": "Wikipedia:ArticleA",
                "missing": true
            }
        ]
    }
}

Exemple 3: titres absents et invalides

Les titres qui n'existent pas, ou qui ne sont pas valides, auront un attribut missing ou invalid positionné dans la réponse.

Dans les formats de sortie qui prennent en charge les clés numériques de tableaux, les titres absents ou non valides auront des ID de page négatifs.

Dans certains cas, il est possible qu'un titre soit vu d'un utilisateur et ne soit pas accessible par l'API, comme les pages miroir qui dupliquent le contenu d'un autre wiki. Ces titres auront un attribut known présent dans la réponse.

Requête GET


Réponse

{
    "batchcomplete": true,
    "query": {
        "pages": [
            {
                "ns": 0,
                "title": "Doesntexist",
                "missing": true
            },
            {
                "title": "Talk:",
                "invalidreason": "The requested page title is empty or contains only the name of a namespace.",
                "invalid": true
            },
            {
                "pageid": 15580374,
                "ns": 0,
                "title": "Main Page"
            }
        ]
    }
}

Exemple 4: requêtes continues

Lorsque toutes les données ne tiennent pas dans une seule réponse de requête, il y aura un attibut continue pour indiquer que d'autres données vont encore arriver.

Requête GET


Réponse

{
    "continue": {
        "accontinue": "List_of_largest_companies_in_Sri_Lanka",
        "continue": "-||"
    },
    "query": {
        "allcategories": [
            {
                "category": "List of BioWare characters"
            },
            {
                "category": "List of Harlequin Romance novels"
            },
            {
                "category": "List of MPs elected in UK elections templates"
            },
            {
                "category": "List of Metamorphoses characters"
            },
            {
                "category": "List of Rockstar Games characters"
            },
            {
                "category": "List of Star Trek awards and nominations"
            },
            {
                "category": "List of Swedish films of the 2020s"
            },
            {
                "category": "List of association football clubs in the Republic of Ireland templates"
            },
            {
                "category": "List of awards and nominations received by Aleksej Pechkuroy"
            },
            {
                "category": "List of cabinet templates"
            }
        ]
    }
}

Pour obtenir ces données supplémentaires, ajoutez leur valeurs dans la requête initiale.

Requête GET


Réponse

{
    "batchcomplete": true,
    "query": {
        "allcategories": [
            {
                "category": "List of largest companies in Sri Lanka"
            },
            {
                "category": "List of longest beaches of the world"
            },
            {
                "category": "List of ministers by ministry of Bangladesh"
            },
            {
                "category": "List of people from Palm Beach, Florida"
            },
            {
                "category": "List of video game characters"
            }
        ]
    }
}

Exemple 5: fin de traitement par lot

L'API retourne un élément batchcomplete pour indiquer que toutes les données pour le lot courant d'éléments, ont été fournies. MW 1.25+

Dans la réponse de l'exemple de requête ci-dessous, batchcomplete a été inclus pour indiquer que toutes les données de chacune des trois images ont été envoyées.

On continue ensuite en renvoyant les données concernant l'ensemble suivant de 3 images.

Requête GET


Réponse
{
  "batchcomplete": true,
  "continue": {
    "aicontinue": "20020822143445|Do_You_Want_to_Know_a_Secret_(Beatles_song_-_sample).ogg",
    "continue": "-||"
  },
  "query": {
    "allimages": [
      {
        "name": "Simon_and_Garfunkel_-_Mrs_Robinson.ogg",
        "timestamp": "2002-08-04T19:55:17Z",
        "url": "https://upload.wikimedia.org/wikipedia/en/6/64/Simon_and_Garfunkel_-_Mrs_Robinson.ogg",
        "descriptionurl": "https://en.wikipedia.org/wiki/File:Simon_and_Garfunkel_-_Mrs_Robinson.ogg",
        "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=67723",
        "ns": 6,
        "title": "File:Simon and Garfunkel - Mrs Robinson.ogg"
      },
      {
        "name": "Simon_and_Garfunkel_-_Scarborough_Fair.ogg",
        "timestamp": "2002-08-04T20:01:36Z",
        "url": "https://upload.wikimedia.org/wikipedia/en/c/c1/Simon_and_Garfunkel_-_Scarborough_Fair.ogg",
        "descriptionurl": "https://en.wikipedia.org/wiki/File:Simon_and_Garfunkel_-_Scarborough_Fair.ogg",
        "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=67779",
        "ns": 6,
        "title": "File:Simon and Garfunkel - Scarborough Fair.ogg"
      },
      {
        "name": "Beatles_please_me.ogg",
        "timestamp": "2002-08-22T14:34:00Z",
        "url": "https://upload.wikimedia.org/wikipedia/en/e/ee/Beatles_please_me.ogg",
        "descriptionurl": "https://en.wikipedia.org/wiki/File:Beatles_please_me.ogg",
        "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=74826",
        "ns": 6,
        "title": "File:Beatles please me.ogg"
      }
    ]
  }
}

Exemple 6: les générateurs

Utilisez les générateurs si vous voulez obtenir les informations concernant un ensemble de pages.

Par exemple, pour obtenir les données concernant les pages d'une certaine catégorie, au lieu de faire la requête list=categorymembers, puis redemander avec pageids initialisé sur toutes les pages retournées, combinez les deux appels à l'API en un seul avec generator=categorymembers.

Lorsque vous spécifiez un module de liste comme générateur, vous n'avez pas besoin de préciser les pages.

Néanmoins, pour un module de propriétés, vous devez préciser les pages sur lesquelles le générateur va travailler.

Par exemple, pour charger toutes les pages appelées par la page principale, utilisez generator=links&titles=Main%20Page.

Les paramètres passés à un générateur doivent être préfixés avec le caractère g. Par exemple, lors de l'utilisation de generator=backlinks, utilisez gbllimit au lieu de bllimit.

L'exemple de requête ci-dessous récupère les liens et les catégories des trois premières pages commençant par « Ba », dans l'espace de noms principal.

Requête GET


Réponse

{
     "continue": {
         "plcontinue": "14977970|0|Kirkwall_Ba_game",
         "continue": "||categories"
     },
     "query": {
         "pages": [
             {
                 "pageid": 98178,
                 "ns": 0,
                 "title": "Ba",
                 "links": [
                     {
                         "ns": 0,
                         "title": "BA"
                     },
                     {
                         "ns": 4,
                         "title": "Wikipedia:Mainspace"
                     },
                     {
                         "ns": 4,
                         "title": "Wikipedia:Naming conventions (capitalization)"
                     },
                     {
                         "ns": 4,
                         "title": "Wikipedia:Protection policy"
                     },
                     {
                         "ns": 4,
                         "title": "Wikipedia:Redirect"
                     },
                     {
                         "ns": 10,
                         "title": "Template:R from miscapitalisation"
                     },
                     {
                         "ns": 10,
                         "title": "Template:R from modification"
                     },
                     {
                         "ns": 10,
                         "title": "Template:R to disambiguation page"
                     },
                     {
                         "ns": 14,
                         "title": "Category:Redirects from ambiguous terms"
                     },
                     {
                         "ns": 14,
                         "title": "Category:Redirects from other capitalisations"
                     }
                 ],
                 "categories": [
                     {
                         "ns": 14,
                         "title": "Category:Redirects from ambiguous terms"
                     },
                     {
                         "ns": 14,
                         "title": "Category:Redirects from other capitalisations"
                     },
                     {
                         "ns": 14,
                         "title": "Category:Unprintworthy redirects"
                     }
                 ]
             },
             {
                 "pageid": 14977970,
                 "ns": 0,
                 "title": "Ba'"
             },
             {
                 "pageid": 33351890,
                 "ns": 0,
                 "title": "Ba'Al Shem Tov"
             }
         ]
     }
}

Continuer les requêtes

Les requêtes auront souvent plus de résultats disponibles que ceux montrés dans la requête originale. (Often this is because a List query's result limit has been reached.) Dans ces cas, les demandes peuvent être poursuivies. Vous trouverez des informations plus détaillées sur la poursuite des requêtes sur API:Continue .

Avertissements possibles

Message d'avertissement Raison
Aucune prise en charge des pages spéciales n'a été implémentée. Apparaît lorsque vous donnez un titre appartenant aux espaces de noms Special: ou Media: . Les pages de ces espaces ne peuvent pas être interrogées.
La résolution de la redirection ne peut pas être utilisée avec le paramètre revids. Toutes les redirections vers lesquelles pointent revids n’ont pas été résolues. Apparaît si le paramètre redirect est utilisé dans une requête qui spécifie des pages en utilisant revids.

Historique des paramètres

  • v1.34: ajouté exportschema
  • v1.24: ajouté rawcontinue (note : raw continuation était le comportement par défault jusqu'à la v1.26)
  • v1.21: ajouté continue

Notes supplémentaires

  • Concernant le nombre maximum de titres par requête, la limite est de 50 lorsque vous spécifiez les titres par titles ou pageids, et de 500 pour ceux qui ont les droits apihighlimits.
  • Vous pouvez combiner ensemble dans une seule requête, plusieurs modules pour obtenir ce que vous voulez; par exemple prop=info|revisions&list=backlinks|embeddedin|allimages&meta=userinfo.
  • Les générateurs passent toujours les titres des pages au module de requête. Contrairement aux listes (qui peuvent inclure des données supplémentaires par défaut), les générateurs ne doivent pas produire d'informations eux-mêmes, sauf si elles sont explicitement demandées via les paramètres de requête du module générateur.

Résoudre les redirections

Les redirections peuvent être résolues automatiquement, de sorte que la cible d'une redirection est renvoyée à la place du titre donné. Lorsqu'ils sont présents, ils vont toujours contenir les attributs from et to et éventuellement un attribut tofragment pour les redirections qui pointent vers des sections spécifiques.

La normalisation et la redirections peuvent s'appliquer en même temps. En cas de redirections multiples, toutes les redirections seront résolues, et s'il y a un rebouclage, la section 'pages' pourra avoir aucune page (voir aussi ci-dessous). La résolution des redirections ne peut pas être utilisée en combinaison avec le paramètre revids= ou avec un générateur fournissant des identifiants de révision; en faisant cela vous allez produire un avertissement et ne résoudrez pas les redirections pour les identifiants spécifiés.

Les exemples ci-dessous montrent comment fonctionne le paramètre redirects .

En utilisant le paramètre « redirects ». « Main page » est une redirection vers « Main Page »

Résultat
{
    "batchcomplete": true,
    "query": {
        "redirects": [
            {
                "from": "Main page",
                "to": "Main Page"
            }
        ],
        "pages": [
            {
                "pageid": 15580374,
                "ns": 0,
                "title": "Main Page"
            }
        ]
    }
}

Requête identique mais sans le paramètre « redirects »

Résultat
{
    "batchcomplete": true,
    "query": {
        "pages": [
            {
                "pageid": 217225,
                "ns": 0,
                "title": "Main page"
            }
        ]
    }
}

Sans « redirects » vous pouvez utiliser prop=info pour obtenir l'état redirigé.

Résultat
{
    "batchcomplete": true,
    "query": {
        "pages": [
            {
                "pageid": 217225,
                "ns": 0,
                "title": "Main page",
                "contentmodel": "wikitext",
                "pagelanguage": "en",
                "pagelanguagehtmlcode": "en",
                "pagelanguagedir": "ltr",
                "touched": "2017-12-17T02:02:05Z",
                "lastrevid": 777924062,
                "length": 170,
                "redirect": true
            }
        ]
    }
}

Requête avec un nom de section. « Wikipedia:!-- » est une redirection vers « Wikipedia:Manual of Style#Invisible comments »

Résultat
{
    "batchcomplete": true,
    "query": {
        "redirects": [
            {
                "from": "Wikipedia:!--",
                "to": "Wikipedia:Manual of Style",
                "tofragment": "Invisible comments"
            }
        ],
        "pages": [
            {
                "pageid": 33697,
                "ns": 4,
                "title": "Wikipedia:Manual of Style"
            }
        ]
    }
}

Ceci est un cas de rebouclage de redirections : Page1 → Page2 → Page3 → Page1. Egalement, dans cet exemple un nom non normalisé 'page1' est employé.

Résultat
{
    "batchcomplete": true,
    "query": {
        "normalized": [
            {
                "fromencoded": false,
                "from": "page1",
                "to": "Page1"
            }
        ],
        "redirects": [
            {
                "from": "Page1",
                "to": "Page2"
            },
            {
                "from": "Page2",
                "to": "Page3"
            },
            {
                "from": "Page3",
                "to": "Page1"
            }
        ],
        "pages": [
            {
                "ns": 0,
                "title": "Page1",
                "missing": true
            }
        ]
    }
}

Voir aussi