我可以使用简单的令牌编辑' + \'但是使用这个简单的令牌,我只能编辑为未注册的IP,而不能作为注册用户。有人能帮助我吗?
我的PHP代码:
$parameters = array('action' => 'query', 'meta' => 'tokens', 'format' => 'json');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($parameters),
),
);
$context = stream_context_create($options);
$result = file_get_contents($wiki, false, $context);
echo "$result";
答案 0 :(得分:2)
您需要登录才能获得真正的CSRF令牌。有关如何登录的详细信息,请参阅:
http://www.mediawiki.org/wiki/API:Login
请注意,保持登录状态将要求您跨请求存储Cookie。 file_get_contents()
;这将很困难;建议使用带有饼干罐的cURL。
答案 1 :(得分:0)
要获取login token,请使用type=login
参数。示例:
curl 'https://www.mediawiki.org/w/api.php?action=query&meta=tokens&format=json&type=login'