gpt4 book ai didi

linux - CURL 用于访问需要从其他页面登录的页面

转载 作者:IT老高 更新时间:2023-10-28 12:24:20 26 4
gpt4 key购买 nike

我有 2 页:xyz.example/axyz.example/b。只有当且仅当我首先登录到 xyz.example/a 时,我才能访问 xyz.example/b。如果访问 xyz.example/b 而不经过另一个,我只是通过浏览器拒绝访问(没有重定向到登录)。在 xyz.example/a 登录后,我可以访问另一个。

我的问题是使用 curl 命令执行此操作。我可以使用 curl 成功登录到 xyz.example/a,但然后尝试 xyz.example/b 并被拒绝访问。

我使用以下:

curl --user user:pass https://xyz.example/a  #works ok
curl https://xyz.example/b #doesn't work

我尝试在第二行中使用 & 而不使用用户/密码部分,但仍然无法正常工作。两个页面使用相同的 CA,所以这不是问题。

最佳答案

该网站可能使用 cookies存储您的 session 信息。当你运行时

curl --user user:pass https://xyz.example/a  #works ok
curl https://xyz.example/b #doesn't work

curl 在两个单独的 session 中运行两次。因此,当第二个命令运行时,第一个命令设置的 cookie 不可用;这就像您在一个浏览器 session 中登录页面 a,并尝试在另一个浏览器 session 中访问页面 b

你需要做的是保存第一条命令创建的cookies:

curl --user user:pass --cookie-jar ./somefile https://xyz.example/a

然后在运行第二个时将它们读回:

curl --cookie ./somefile https://xyz.example/b

或者,您可以尝试在同一命令中下载这两个文件,我认为这将使用相同的 cookie。

关于linux - CURL 用于访问需要从其他页面登录的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12399087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com