首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RCurl登录mediawiki

使用RCurl登录mediawiki
EN

Stack Overflow用户
提问于 2011-06-16 18:23:58
回答 1查看 1.2K关注 0票数 2

我如何使用RCurl (或Curl,并且我可以使其适应R包)登录到mediawiki?

我只想解析一个页面,但我需要登录,否则我无法访问它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-11 03:15:53

Mediawiki API有一个登录函数,它返回cookie和一个令牌。您必须将两者保存并发送回API,以便对会话和登录进行身份验证。以下是在bash中使用curl和XMLstarlet的一种方法:

发送登录令牌请求,将cookies保存在cookies.txt中,并将输出保存在output.xml中。

curl -c cookies.txt -d "lgname=YOURNAME&lgpassword=YOURPASS&action=login&format=xml" http://your.mediawikiinstall.com/w/api.php -o output.xml

然后使用XMLstarlet将令牌从xml中提取出来,并将其保存为bash变量。

YOURTOKEN=$(xml sel -t -m '//login' -v '//@token' output.xml)

然后发送登录请求,包括cookie文件和令牌。

curl -b cookies.txt -d "action=login&lgname=YOURNAME&lgpassword=YOURPASS&format=xml&lgtoken="$YOURTOKEN http://your.mediawikiinstall.com/w/api.php

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6370357

复制
相关文章

相似问题

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