Jump to content

API: Purgar

From mediawiki.org
This page is a translated version of the page API:Purge and the translation is 100% complete.
Versión de MediaWiki:
1.14

Solicitud POST para purgar el caché para el título dado.

Documentación de la API

action=purge

(main | purge)
  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Purge the cache for the given titles.

Specific parameters:
Other general parameters are available.
forcelinkupdate

Update the links tables and do other secondary data updates.

Type: boolean (details)
forcerecursivelinkupdate

Same as forcelinkupdate, and update the links tables for any page that uses this page as a template.

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.

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 titles, pageids, and revids, and in pages returned by 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, mni, sh, shi, sr, tg, tly, uz, wuu, zgh and zh.

Type: boolean (details)


Ejemplos

Ejemplo 1: Purgar una o dos páginas

Solicitud de publicación

Respuesta

{
    "batchcomplete": "",
    "purge": [
        {
            "ns": 0,
            "title": "NonexistentArticle",
            "missing": ""
        },
        {
            "ns": 0,
            "title": "Main Page",
            "purged": ""
        }
    ],
    "normalized": [
        {
            "from": "Main_Page",
            "to": "Main Page"
        }
    ]
}

Código de muestra

Python

#!/usr/bin/python3

"""
    purge_two_pages.py

    MediaWiki API Demos
    Demo of `purge` module: Sending post request to purge two or more pages
    MIT license
"""
import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "purge",
    "titles": "Main_Page|Nonexistent",
    "format": "json"
}

R = S.post(url=URL, params=PARAMS)
DATA = R.text

print(DATA)

PHP

<?php

/*
    purge_two_pages.php

    MediaWiki API Demos
	Demo of `purge` module: Sending post request to purge two or more pages

    MIT license
*/

$endPoint = "https://en.wikipedia.org/w/api.php";

purge();

function purge() {
	global $endPoint;

	$params = [
		"action" => "purge",
		"titles" => "Main_Page|Nonexistent",
		"format" => "json"
	];

	$ch = curl_init();

	curl_setopt( $ch, CURLOPT_URL, $endPoint );
	curl_setopt( $ch, CURLOPT_POST, true );
	curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );

	$output = curl_exec( $ch );
	curl_close( $ch );

	echo ( $output );
}

JavaScript

/*  
    purge_two_pages.js
 
    MediaWiki API Demos
    Demo of `purge` module: Sending post request to purge two or more pages

    MIT license
*/

var request = require('request').defaults({jar: true}),
    url = "https://en.wikipedia.org/w/api.php";

function purge() {
    var params = {
        action: "purge",
        titles: "Main_Page|Nonexistent",
        format: "json"
    };

    request.post({ url: url, form: params }, function (error, res, body) {
        if (error) {
            return;
        }
        console.log(body);
    });
}

// Start the function
purge();

MediaWiki JS

/*
	purge_two_pages.js

	MediaWiki API Demos
	Demo of `purge` module: Sending post request to purge two or more pages

	MIT License
*/

var params = {
		action: 'purge',
		titles: 'Main_Page|Nonexistent',
		format: 'json'
	},
	api = new mw.Api();

api.post( params ).done( function ( data ) {
	console.log( data );
} );

Ejemplo 2: Purgar las primeras 10 páginas en el espacio del nombre principal

Solicitud de publicación

Respuesta

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "!!Destroy-Oh-Boy!!",
        "continue": "gapcontinue||"
    },
    "purge": [
        {
            "ns": 0,
            "title": "!",
            "purged": ""
        },
        {
            "ns": 0,
            "title": "!!",
            "purged": ""
        }
        ...
    ]
}

Código de muestra

Python

#!/usr/bin/python3

"""
    purge_namespace_pages.py

    MediaWiki API Demos
    Demo of `purge` module: Sending post request to purge first 10 pages in the main namespace
    MIT license
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "purge",
    "generator": "allpages",
    "gapnamespace": "0",
    "gaplimit": "10",
    "format": "json"
}

R = S.post(url=URL, params=PARAMS)
DATA = R.text

print(DATA)

PHP

<?php

/*
    purge_namespace_pages.php

    MediaWiki API Demos
	Demo of `purge` module: Sending post request to purge first 10 pages in the main namespace

    MIT license
*/

$endPoint = "https://en.wikipedia.org/w/api.php";

purge();

function purge() {
	global $endPoint;

	$params = [
		"action" => "purge",
		"generator" => "allpages",
		"gapnamespace" => "0",
		"gaplimit" => "10",
		"format" => "json"
	];

	$ch = curl_init();

	curl_setopt( $ch, CURLOPT_URL, $endPoint );
	curl_setopt( $ch, CURLOPT_POST, true );
	curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );

	$output = curl_exec( $ch );
	curl_close( $ch );

	echo ( $output );
}

JavaScript

/*  
    purge_namespace_pages.js
 
    MediaWiki API Demos
    Demo of `purge` module: Sending post request to purge first 10 pages in the main namespace

    MIT license
*/

var request = require('request').defaults({jar: true}),
    url = "https://test.wikipedia.org/w/api.php";

function purge() {
    var params = {
        action: "purge",
        generator: "allpages",
        gapnamespace: "0",
        gaplimit: "10",
        format: "json"
    };

    request.post({ url: url, form: params }, function (error, res, body) {
        if (error) {
            return;
        }
        console.log(body);
    });
}

// Start the function
purge();

MediaWiki JS

/*
	purge_namespace_pages.js

	MediaWiki API Demos
	Demo of `purge` module: Sending post request to purge first 10 pages in the main namespace

	MIT License
*/

var params = {
		action: 'purge',
		generator: 'allpages',
		gapnamespace: '0',
		gaplimit: '10',
		format: 'json'
	},
	api = new mw.Api();

api.post( params ).done( function ( data ) {
	console.log( data );
} );

Posibles errores

Código Información
cantpurge Únicamente usuarios con el derecho a "purgar" pueden purgar páginas a través de la API
mustbeposted El módulo purge requiere una petición POST.
invalidreason El título de la página solicitada contiene caracteres no válidos: «title».
assertuserfailed La aserción de que el usuario está conectado falló.
readonly Base de datos bloqueada


Historial de parámetros

  • v1.20: Introducido pageid

Véase también