【问题标题】:How to download a secured webpage如何下载安全网页
【发布时间】:2011-03-29 17:19:15
【问题描述】:

我希望以编程方式下载需要登录才能查看的网页。有什么理智的方法可以做到这一点吗?通过查看 HTTP 标头等,我可以看到用户名/密码作为 POST 数据传递,但请求附加此信息的页面还不够好。我认为 cookie 也参与其中,看起来它们包含某种加密的授权数据。

有什么方法可以伪造吗?语言在这里不是很重要,但是像 Perl 这样可以相对容易地在 Linux 上运行的东西会很好。或者也许可以编写一个命令行浏览器?

【问题讨论】:

  • 什么是登录页面?如果它类似于 Thales SSO 页面,那么它会在提交之前加密页面中脚本中的用户名和密码 - 这些事情会变得非常复杂。

标签: https


【解决方案1】:

是的,您可以通过 curl 命令行工具或 CURL 库执行此操作。您需要弄清楚 cookie 中应该包含什么,然后使用 curl-b 选项或等效的 CURL API 传递它们。

您还可以通过 CURL 执行 HTTP 基本身份验证。

如果页面真的很复杂,您必须事先进行 HTML 解析甚至 JS 解释来提取 cookie 数据。这仍然可行,但不能单独使用 CURL。

一般来说,网络浏览器可以做的任何事情都可以编写脚本。图灵完备性等等。像 BlueSocket 这样的“无法编写脚本”的强制门户网站卖的是一堆废话;它们基本上只是被混淆的网页。他们会减慢你的速度,但永远不能阻止你——他们必须给你钥匙才能工作!

【讨论】:

  • 这是我需要的我大学的时间表信息,在我发布问题直到学期开始后大约 5 分钟,他们将其删除。必须等到那时才能立即尝试,但这看起来应该可以,谢谢。
【解决方案2】:

Php 的CURL 会做到这一点。如果此解决方案适合您,还请检查 here

【讨论】:

    猜你喜欢
    • 2015-11-28
    • 2015-03-14
    • 2013-05-31
    • 2012-08-18
    • 1970-01-01
    • 2020-01-21
    • 2010-12-10
    • 2019-03-22
    • 1970-01-01
    相关资源
    最近更新 更多