API:Allredirects
This page is part of the MediaWiki Action API documentation. |
เวอร์ชันมีเดียวิกิ: | ≥ 1.23 |
GET request เพื่อแสดงรายการการเปลี่ยนเส้นทางทั้งหมดไปยังเนมสเปซ All filters available with this API affect the redirect targets and not the redirect sources.
This module can be used as a generator .
When used as a generator, the titles used for the generator are from the redirect sources instead of the redirect targets, unless the garunique
parameter is used.
API documentation
The arfrom
, arto
and arprefix
input parameters filter by the target redirect title without namespace.
A namespace must not be added to those parameters, otherwise the API returns an invalidtitle
error.
This means those parameters effectively filter titles in the main namespace, unless a different namespace is selected by the arnamespace
parameter, which would affect titles in that namespace.
ตัวอย่าง
GET request
Response
Both the title and namespace returned refer to the redirect target and not the redirect itself.
{
"batchcomplete": "",
"continue": {
"arcontinue": "!Women_Art_Revolution",
"continue": "-||"
},
"query": {
"allredirects": [
{
"ns": 0,
"title": "!Action Pact!"
},
{
"ns": 0,
"title": "!Arriba! La Pachanga"
},
{
"ns": 0,
"title": "!Hero"
}
]
}
}
รหัสตัวอย่าง
Python
#!/usr/bin/python3
"""
get_allredirects.py
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique pages containing
redirects to the main namespace.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "allredirects",
"arunique": "1",
"arnamespace": "0",
"arlimit": "3"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
REDIRECTS = DATA["query"]["allredirects"]
for r in REDIRECTS:
print(r["title"])
PHP
<?php
/*
get_allredirects.php
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique pages containing redirects to the main namespace.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "allredirects",
"arunique" => "1",
"arnamespace" => "0",
"arlimit" => "3"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
foreach( $result["query"]["allredirects"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript
/*
get_allredirects.js
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique pages containing redirects to the main namespace.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "allredirects",
arunique: "1",
arnamespace: "0",
arlimit: "3"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
.then(function(response){return response.json();})
.then(function(response) {
var redirects = response.query.allredirects;
for (var r in redirects) {
console.log(redirects[r].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_allredirects.js
MediaWiki API Demos
Demo of `Allredirects` module: Get the first three unique
pages containing redirects to the main namespace.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'allredirects',
arunique: '1',
arnamespace: '0',
arlimit: '3'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var redirects = data.query.allredirects,
r;
for ( r in redirects ) {
console.log( redirects[ r ].title );
}
} );
บันทึกเพิ่มเติม
- Namespaces and their numbers can be obtained at คู่มือการใช้งาน:เนมสเปซ .
ดูเพิ่ม
- API:Redirects - List all redirects to a given page(s).