Mediawiki:无效的登录令牌

时间:2017-05-29 13:56:22

标签: php login mediawiki mediawiki-api

我试图通过api登录但总是得到一个" badtoken"错误("无效的令牌")。 我已经按照Mediawiki / Api-Help上的完整指南进行操作,并完全按照他们的建议进行操作。

  1. 我收到了登录令牌:
  2. 我为clientlogin做了POST请求。
  3. 这是我的代码:

    $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);   
    

    有谁知道如何进行登录?

0 个答案:

没有答案
相关问题