我希望以编程方式下载需要登录才能查看的网页。这样做有什么明智的方法吗?通过查看HTTP标头等,我可以看到用户名/密码作为POST数据传递,但是请求附加了此信息的页面不够好。我认为cookie也参与其中,看起来它们包含某种加密的授权数据。
有没有办法伪造这个?语言在这里并不重要,但像Perl这样可以在Linux上运行相对容易的东西会很好。或者也许命令行浏览器可以编写脚本?
答案 0 :(得分:1)
答案 1 :(得分:1)
是的,您可以通过curl
命令行工具或CURL库执行此操作。您需要弄清楚Cookie中应该包含哪些内容,然后使用curl
的{{1}}选项或等效的CURL API传递它们。
您还可以通过CURL执行HTTP基本身份验证。
如果页面非常复杂,那么您必须先进行HTML解析甚至JS解释才能提取cookie数据。这仍然可行,但不仅仅是CURL。
作为一般说明,Web浏览器可以执行的任何操作都可以编写脚本。图灵完整性等等。像BlueSocket出售的“无法写入”的俘虏门户网站是一堆垃圾;他们基本上只是混淆了网页。他们会减慢你的速度,但永远不能阻止你 - 他们必须给你钥匙才能工作!