1

我真的是 php curl 的业余爱好者。我想知道如何使用以下表单登录网站:

<form method="post" action="/log.php">
  <input type="hidden" name="sessionid" value="a49e4ebb5b71d0745573d37331bfc2cb2880" />Username: 
  <input type="text" name="user" />Password: 
  <input type="password" name="pass" />
  <input type="submit" name="submit" value="Log in" />
</form>

在这里您可以看到一个名为“sessionid”的字段名。它只是在每次重新加载时不断变化。因此,当我尝试使用 curl 登录时,它会显示“无效会话”。那么任何人都可以帮助我吗?

4

3 回答 3

1

这种行为是绝对正常的。

您的自动登录过程可以这样解释:

在此处输入图像描述

您的问题出在第 4 步:您无法为另一个域设置 cookie。

  • 您的网站 www.autologin.com 具有域 autologin.com

  • 目标网站 www.protected-site.com 具有域 protected-site.com

如果您尝试将 cookie 从 www.autologin.com 设置到域 protected-site.com,您的浏览器将忽略它。

于 2013-04-28T11:54:00.797 回答
0

但是一旦我发现一个博客,它的管理员用 curl 制作了一个 facebook 状态更新脚本,我就错过了。Facebook 有会话 ID 对吗?但他是怎么做到的呢?

于 2013-04-29T03:27:00.950 回答
0

您的 cURL 脚本应该使用用户名和密码执行他自己的登录。cURL 支持多种方法(Basic、NTLM、...)。此外,cURL 可以使用 cookie jar 处理自己的 cookie。

于 2013-04-28T12:09:29.267 回答