使用 cURL 登录网站

使用 cURL 登录网站

我正在尝试使用以下命令从 cURL 命令行登录

curl --data "用户名=用户&密码=密码&提交=登录"http://www.ip.com:8080/LoginApplication/Login.jsp

之后尝试使用访问内页

curl http://www.ip.com:8080/LoginApplication/Success.jsp

但由于未登录,我被重定向到错误页面。

我在第一个命令中缺少什么以便它可以维持会话?我的网站在本地托管

答案1

那么,您需要将会话数据存储在 cookie 中。您可以使用-c cookie_filename它来创建 cookie(将其添加到您的登录命令中)。然后,对于其他请求,您可以使用 来读取 cookie -b cookie_filename

在示例中:

curl -s loginpage -c cookiefile -d "user=myself&pass=secure"
curl -s secretpage -b cookiefile

编辑:

请注意,很多时候,loginpage您使用网络浏览器打开的页面并不是在其中输入用户名和密码的。您必须检查表单将该数据发布到的位置(<form>在源代码和action=...属性中搜索标签)。因此,举例来说,如果您想登录https://criticker.comloginpagehttps://www.criticker.com/authenticate.php并不是https://www.criticker.com/signin.php,这是您用浏览器打开的。

loginpage浏览器的篡改插件/扩展程序可能会帮助您找到发布到浏览器的正确数据和所有数据(例如表单中的隐藏输入字段)。

相关内容