Jump to content
MediaWiki

API:Tokens/Sample code 1

From mediawiki.org

Python

[edit ]
#!/usr/bin/python3
"""
 tokens.py
 MediaWiki API Demos
 Demo of `Token` module: Fetch token of type `login`
 MIT License
"""
importrequests
S = requests.Session()
URL = "https://www.mediawiki.org/w/api.php"
PARAMS = {
 "action": "query",
 "meta": "tokens",
 "type": "login",
 "format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
LOGIN_TOKEN = DATA['query']['tokens']['logintoken']
print(LOGIN_TOKEN)

PHP

[edit ]
<?php
/*
 tokens.php
 MediaWiki API Demos
 Demo of `Token` module: Fetch token of type `login`
 MIT License
*/
$endPoint = "https://www.mediawiki.org/w/api.php";
$params = [
 "action" => "query",
 "meta" => "tokens",
 "type" => "login",
 "format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
// Wikis such as Wikimedia Commons require that you also set a user agent through CURLOPT_USERAGENT
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
echo( $result['query']['tokens']['logintoken'] . "\n" );

Perl

[edit ]
#!/usr/bin/perl
# tokens.pl
# MediaWiki API Demos
# Demo of `Token` module: Fetch token of type `login`
# WTFPL
usestrict;
usewarnings;
useJSON;
useLWP::UserAgent;
useURI;
my$url=URI->new('https://www.mediawiki.org/w/api.php');
my%params=(
'action'=>'query',
'meta'=>'tokens',
'type'=>'login',
'format'=>'json',
);
$url->query_form(%params);
my$ua=LWP::UserAgent->new();
my$response=$ua->get($url);
my$data=JSON::decode_json($response->content);
my$login_token=$data->{'query'}{'tokens'}{'logintoken'};
print"$login_token\n";

Node.js

[edit ]
/*
 tokens.js
 MediaWiki API Demos
 Demo of `Token` module: Fetch token of type `login`
 MIT License
*/
varrequest=require('request'),
url="https://www.mediawiki.org/w/api.php";
varparams={
action:"query",
meta:"tokens",
type:"login",
format:"json"
};
request.get({url:url,qs:params},function(error,response,body){
body=JSON.parse(body);
console.log(body.query.tokens.logintoken);
});

MediaWiki JS

[edit ]
/*
 tokens.js
 MediaWiki API Demos
 Demo of `Token` module: Fetch token of type `csrf`
 MIT License
*/
varparams={
action:'query',
meta:'tokens',
type:'csrf',
format:'json'
},
api=newmw.Api();
api.get(params).done(function(data){
console.log(data.query.tokens.csrftoken);
});

BASH

[edit ]
exportMW_URL="https://www.mediawiki.org/w/"
exportAPI_URL="api.php"
# 0ドル <token type>
# mainly csrf and login
functionget-token(){
API_URL="api.php"
RESULT=$(curl-fsSL-XPOST\
-daction=query\
-dmeta=tokens\
-dtype="1ドル"\
-dformat=json\
-ccookie.txt\
-bcookie.txt\
"${MW_URL}${API_URL}")
RESULT=${RESULT/*token\":\"}
TOKEN=${RESULT%\\\"*}
echo"$TOKEN"
}
TOKEN=$(get-tokenlogin)

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