使用mediaWiki API进行Bot编辑

时间:2016-02-09 02:13:14

标签: mediawiki mediawiki-api

我正在尝试编写一个小机器人来编辑mw页面几个小时,但似乎无法做到正确。在这一点上,我甚至不确定问题是否在我的代码中,或者我是否误解了这个过程。我不会发布我的代码 - 只是过程。请告诉我,如果我至少得到了这个权利! (这是mediaWiki 1.19 btw)

  1. 使用密码和用户名登录:

    POST:action = login,lgname = XXX,lgpassword = XXX

  2. 首次登录失败:

    result = NeedToken,token = XXX

  3. 从第一次回复中提取Cookie标头,并确保将其与所有后续请求一起发送:

    / ^ Set-(Cookie:\ w + _session = [^;] +); /

  4. 再次登录,但这次使用令牌和Cookie标头:

    POST:action = login,lgname = XXX,lgpassword = XXX,lgtoken = XXX

  5. 请求编辑令牌:

    POST:action = query,prop = info,intoken = edit,titles = XXX

  6. 解压缩editToken并使用:

    进行编辑

    POST:action = edit,bot = 1,title = XXX,md5 = md5(content),text = content, 标记= editToken

  7. 编辑成功但由于某种原因,这是匿名编辑o_O

1 个答案:

答案 0 :(得分:0)

似乎我的cookie处理不充分。我没有意识到我必须捕获所有cookie - 而不仅仅是会话cookie。一切都很好。