API:Tokens/Sample code 1
Appearance
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)