Php Mediawiki:无效的登录令牌
我试图通过api登录,但总是会出现“badtoken”错误(“无效令牌”)。 我遵循了Mediawiki/Api帮助的完整指南,并完全按照他们的建议行事Php Mediawiki:无效的登录令牌,php,login,mediawiki,mediawiki-api,Php,Login,Mediawiki,Mediawiki Api,我试图通过api登录,但总是会出现“badtoken”错误(“无效令牌”)。 我遵循了Mediawiki/Api帮助的完整指南,并完全按照他们的建议行事 我获得登录令牌: 我为clientlogin执行POST请求 这是我的密码: $wiki = 'example.de/wiki/'; $api = $wiki.'api.php?'; $retry = false; $wpName = 'someone' $wpPassword = 'supersave'; $json_a = (file_
$wiki = 'example.de/wiki/';
$api = $wiki.'api.php?';
$retry = false;
$wpName = 'someone'
$wpPassword = 'supersave';
$json_a = (file_get_contents($wiki.'api.php?action=query&meta=tokens&type=login&format=json');
$json_b = json_decode($json_a,true);
$token = $json_b['query']['tokens']['logintoken'];
echo("\nToken: ".$token."\n");
$data = array(
'action' => 'clientlogin',
'loginreturnurl' => $wiki,
'logintoken' => $token,
'username' => $wpName,
'password' => $wpPassword,
'rememberMe' => 1);
$ch = curl_init($api);
$postString = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
# Get the response
$response = curl_exec($ch);
curl_close($ch);
有人知道如何执行登录吗?您需要在同一个会话中执行所有操作。两个请求都使用curl,两个请求都使用CURLOPT_-COOKIEFILE和CURLOPT_-COOKIEJAR。此外,clientlogin并不真正用于非交互式登录。最好使用action=login和。