首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当调用MediaWiki-API时,我只得到“+”作为csrf令牌

当调用MediaWiki-API时,我只得到“+”作为csrf令牌
EN

Stack Overflow用户
提问于 2015-02-16 20:10:11
回答 2查看 773关注 0票数 6

我可以使用简单的令牌“+\”进行编辑,但是使用这个简单的令牌,我只能作为未注册的IP进行编辑,而不是作为注册的用户进行编辑。有人能帮我吗?

我的PHP代码:

代码语言:javascript
复制
$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";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-16 21:27:03

您需要登录才能获得真正的CSRF令牌。有关如何登录的详细信息,请参阅:

http://www.mediawiki.org/wiki/API:Login

请注意,保持登录将需要跨请求存储cookie。对于file_get_contents()来说,这将是很困难的;建议在cookie jar中使用cURL。

票数 3
EN

Stack Overflow用户

发布于 2020-08-10 04:24:25

要获得登录令牌,请使用type=login参数。示例:

代码语言:javascript
复制
curl 'https://www.mediawiki.org/w/api.php?action=query&meta=tokens&format=json&type=login'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28549519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档