Jump to content
MediaWiki

API:Oturumu kapat

From mediawiki.org
This page is a translated version of the page API:Logout and the translation is 88% complete.
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır.
MediaWiki Eylem API'si
Temeller
Doğrulama
Hesaplar ve Kullanıcılar
Sayfa İşlemleri
Ara
Geliştirici Araçları
Eğitimler
g · t · d
MediaWiki sürümü:
≥ 1.12

Hesaptan oturumu kapatmak için POST isteği. Anahtar olmayan daha önce kullanılan GET isteği bir uyarı verir ve oturumu KAPATMAZ.

Oturumu kapattığınızda oturum açma simgeleri ve diğer tarayıcı çerezleri silinir.

API belgesi

Aşağıdaki belgelendirme, bu sitede (MediaWiki.org) çalışan MediaWiki'nin sürüm öncesi sürümü tarafından otomatik olarak oluşturulan Special:ApiHelp/logout çıkışıdır.

action=logout

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

Log out and clear session data.

Specific parameters:
Other general parameters are available.
global

Log the user out from all their devices (rather than their current device only).

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
checkuserclienthints

Client hints data supplied alongside requests to ApiLogout. For internal use only.

Example:
Log the current user out.
api.php?action=logout&token=123ABC [open in sandbox]

Örnek

POST isteği

Yanıt

{
}

Örnek kod

Python

#!/usr/bin/python3
"""
 logout.py
 MediaWiki API Demos
 Demo of `Logout` module: Log out and clear session data.
 MIT License
"""
importrequests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
# Step 1: Retrieve login token first
PARAMS_0 = {
 'action':"query",
 'meta':"tokens",
 'type':"login",
 'format':"json"
}
R = S.get(url=URL, params=PARAMS_0)
DATA = R.json()
LOGIN_TOKEN = DATA['query']['tokens']['logintoken']
# Step 2: Send a POST request to login. Using the main account for login is not
# supported. Obtain credentials via Special:BotPasswords
# (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
PARAMS_1 = {
 'action':"login",
 'lgname':"your_bot_username",
 'lgpassword':"your_bot_password",
 'lgtoken':LOGIN_TOKEN,
 'format':"json"
}
R = S.post(URL, data=PARAMS_1)
DATA = R.json()
# Step 3: GET request to fetch CSRF token
PARAMS_2 = {
 "action":"query",
 "meta":"tokens",
 "format":"json"
}
R = S.get(url=URL, params=PARAMS_2)
DATA = R.json()
CSRF_TOKEN = DATA['query']['tokens']['csrftoken']
# Step 4: Send a POST request to logout
PARAMS_3 = {
 "action": "logout",
 "token": CSRF_TOKEN,
 "format": "json"
}
R = S.post(URL, data=PARAMS_3)
DATA = R.json()
print(DATA)

PHP

<?php
/*
 logout.php
 MediaWiki API Demos
 Demo of `Logout` module: Log out and clear session data.
 MIT license
*/
$endPoint = "https://test.wikipedia.org/w/api.php";
$login_Token = getLoginToken(); // Step 1
loginRequest( $login_Token ); // Step 2
$csrf_Token = getCSRFToken(); // Step 3
logoutRequest( $csrf_Token ); // Step 4
// Step 1: GET request to fetch login token
function getLoginToken() {
	global $endPoint;
	$params1 = [
		"action" => "query",
		"meta" => "tokens",
		"type" => "login",
		"format" => "json"
	];
	$url = $endPoint . "?" . http_build_query( $params1 );
	$ch = curl_init( $url );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
	$output = curl_exec( $ch );
	curl_close( $ch );
	$result = json_decode( $output, true );
	return $result["query"]["tokens"]["logintoken"];
}
// Step 2: POST request to log in. Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest( $logintoken ) {
	global $endPoint;
	$params2 = [
		"action" => "login",
		"lgname" => "bot_user_name",
		"lgpassword" => "bot_password",
		"lgtoken" => $logintoken,
		"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( $params2 ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
	$output = curl_exec( $ch );
	curl_close( $ch );
}
// Step 3: GET request to fetch CSRF token
function getCSRFToken() {
	global $endPoint;
	$params3 = [
		"action" => "query",
		"meta" => "tokens",
		"format" => "json"
	];
	$url = $endPoint . "?" . http_build_query( $params3 );
	$ch = curl_init( $url );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
	$output = curl_exec( $ch );
	curl_close( $ch );
	$result = json_decode( $output, true );
	return $result["query"]["tokens"]["csrftoken"];
}
// Step 4: POST request to logout
function logoutRequest( $csrftoken ) {
	global $endPoint;
	$params4 = [
		"action" => "logout",
		"token" => $csrftoken,
		"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( $params4 ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
	$output = curl_exec( $ch );
	curl_close( $ch );
	echo ( $output );
}

JavaScript

/*
 logout.js
 MediaWiki API Demos
 Demo of `Logout` module: Log out and clear session data.
 MIT License
*/
varrequest=require('request').defaults({jar:true}),
url="https://en.wikipedia.org/w/api.php";
// Step 1: GET request to fetch login token
functiongetLoginToken(){
varparams_0={
action:"query",
meta:"tokens",
type:"login",
format:"json"
};
request.get({url:url,qs:params_0},function(error,res,body){
if(error){
return;
}
vardata=JSON.parse(body);
loginRequest(data.query.tokens.logintoken);
});
}
// Step 2: POST request to log in.
// Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
functionloginRequest(login_token){
varparams_1={
action:"login",
lgname:"your_bot_username",
lgpassword:"your_bot_password",
lgtoken:login_token,
format:"json"
};
request.post({url:url,form:params_1},function(error,res,body){
if(error){
return;
}
getCsrfToken();
});
}
// Step 3: GET request to fetch CSRF token
functiongetCsrfToken(){
varparams_2={
action:"query",
meta:"tokens",
format:"json"
};
request.get({url:url,qs:params_2},function(error,res,body){
if(error){
return;
}
vardata=JSON.parse(body);
logoutRequest(data.query.tokens.csrftoken);
});
}
// Step 4: Send a POST request to logout
functionlogoutRequest(csrf_token){
varparams_3={
action:"logout",
token:csrf_token,
format:"json"
};
request.post({url:url,form:params_3},function(error,res,body){
if(error){
return;
}
console.log(body);
});
}
// Start From Step 1
getLoginToken();

MediaWiki JS

/*
	logout.js
	MediaWiki API Demos
	Demo of `Logout` module: Log out and clear session data.
	MIT License
*/
varparams={
action:'logout',
format:'json'
},
api=newmw.Api();
api.postWithToken('csrf',params).done(function(data){
console.log(data);
});

Parametre geçmişi

  • v1.30: token tanıtıldı


Ek notlar

Ayrıca bakınız

Dış bağlantılar

AltStyle によって変換されたページ (->オリジナル) /