【问题标题】:CURL PHP AJAX RequestCURL PHP AJAX 请求
【发布时间】:2011-03-07 12:42:14
【问题描述】:

我是使用 CURL 的新手,但过去我已经成功让它提交普通表单。我正在使用一个使用 AJAX 请求执行登录的网站,我可以获取表单来填写用户名和密码,但由于登录按钮实际上是一个链接,我无法提交表单,是否存在我可以通过其他方式登录吗?

我实际上研究了禁用 javascript 时用户如何登录网站,认为他们可能提供了替代登录途径。但是,开发人员回应说,当用户禁用 javascript 时,该网站无法运行。既然是这种情况,也许 cURL 甚至不可能做到这一点?

非常感谢任何关于我应该如何进行的建议,非常感谢!

【问题讨论】:

    标签: php ajax curl libcurl


    【解决方案1】:

    找出 AJAX 方法提交到的位置。它可能在表单标签的 action 参数中,也可能隐藏在某个地方的 javascript 中。

    您可以使用 FireBug 或 HttpFox 等 Firefox 扩展程序来观察您单击“登录”链接时浏览器的行为。它可能会生成某种 POST 请求。检查该帖子的作用,弄清楚如何通过 curl 发送等效请求,然后就完成了。

    【讨论】:

    • 我找到了一个单独的登录页面,AJAX 用来登录,但是当我尝试手动登录到这个页面时它什么也没做,我注意到在 AJAX 请求的 URL 中,一个名为 ajax 的变量设置为“1”,但是当我手动将其放入 url 时,页面无法加载,所以我认为只有 ajax 请求可以执行登录,并且登录页面可以通过某种方式判断请求是否是 ajax 还是普通的。
    • 这取决于您在登录后预期会发生什么。您应该确保您的 curl 代码跟踪网站发送的任何 cookie,并在每个请求中将它们传回(就像 Web 浏览器一样)。获取 cookie 并提交有效的登录请求后,对受保护资源的进一步请求应该会开始工作。
    猜你喜欢
    • 1970-01-01
    • 2020-04-05
    • 2020-07-19
    • 2015-07-27
    • 1970-01-01
    • 2012-11-05
    • 2012-03-07
    • 2015-12-06
    • 1970-01-01
    相关资源
    最近更新 更多