我试图通过api登录但总是得到一个" badtoken"错误("无效的令牌")。 我已经按照Mediawiki / Api-Help上的完整指南进行操作,并完全按照他们的建议进行操作。
这是我的代码:
$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);
有谁知道如何进行登录?