我如何使用 RCurl (或 Curl,我可以将其适应 R 包)登录到 mediawiki?
我只想解析一个页面,但我需要登录,否则我无法访问它。
Mediawiki API 有一个登录函数,它返回 cookie 和令牌。您必须保存并将两者发送回 API 才能验证会话和登录。以下是在 bash 中使用curl 和 XMLstarlet 实现此目的的方法:
发送登录令牌请求,将 cookie 保存在 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文件和token。
curl -b cookies.txt -d "action=login&lgname=YOURNAME&lgpassword=YOURPASS&format=xml&lgtoken="$YOURTOKEN http://your.mediawikiinstall.com/w/api.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)