واجهة برمجة التطبيقات:Allredirects
هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
إصدار ميدياويكي: | ≥ 1.23 |
طلب GET الغرض منه سرد كافة حالات إعادة التوجيه. كافة المرشحات المتاحة في واجهة برمجة التطبيقات هذه تؤثر على مستهدفات إعادة التوجيه لا مصدر إعادة التوجيه.
يمكن استخدام هذه الوحدة البرمجية بصفة مولّد .
حينما تستخدم في صفة مولّد، تؤخذ العناوين المستخدمة لأغراض المولّد من مصادر إعادة التوجيه عوضًا عن مستهدفات إعادة التوجيه، إلا لو كان معلم garunique
مستخدمًا.
توثيق واجهة برمجة التطبيقات
ترشح معلمات الإدخال arfrom
وarto
وarprefix
حسب عنوان مستهدف إعادة التوجيه دون الحاجة لنطاق الاسم.
يجب الامتناع عن لإضافة نطاق الاسم إلى تلك المعلمات، لو حدث ذلك سوف يكون رد واجهة برمجة التطبيقات هو خطأ invalidtitle
.
يعني هذا أن تلك المعلمات ترشح فعليًا العناوين الموجودة في نطاق الاسم الرئيسي، إلا لو جرى اختيار نطاق اسم مختلف في معلم arnamespace
، الذي قد يؤثر على العناوين الموجودة في نطاق الاسم المذكور.
مثال
طلب GET
النتيجة
يشير كلا من العنوان ونطاق الاسم المجلوبين إلى مستهدف إعادة التوجيه لا إعادة التوجيه ذاتها.
{
"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 );
}
} );
ملاحظات إضافية
- يمكن الحصول على نطاقات الاسم وأرقامها من صفحة Manual:Namespace .
انظر أيضا
- واجهة برمجة التطبيقات:Redirects - سرد كافة حالات إعادة التوجيه التي تستهدف صفحة أو صفحات بعينها.