1

我的 bash 脚本正在执行以下操作:

curl -k -s -c gv.cookies https://accounts.google.com/ServiceLogin -F Email=something@gmail.com -F Passwd=somepassword -F service=grandcentral

这似乎有效。cookie 文件已创建,如果我仔细阅读输出,它肯定认为我已经登录。

但是,当我接下来执行此操作时:

curl -k -s -b gv.cookies https://www.google.com/voice/

我得到一个“临时移动”页面,而不是我期望的 Google Voice 标记。

我是否缺少 curl 的一些参数,使其正确使用 cookie?我不需要修复它,因为我需要有人指出我正确的方向。

4

1 回答 1

1

您应该添加-b&-L标志:

curl \
    -L \
    -k \
    -s \
    -c gv.cookies \
    -b gv.cookies \
    -F Email=something@gmail.com \
    -F Passwd=somepassword \
    -F service=grandcentral \
    https://accounts.google.com/ServiceLogin

-L,--位置

(HTTP/HTTPS) 如果服务器报告请求的页面已移动到不同的位置(用 Location: 标头和 3XX 响应代码指示),此选项将使 curl 在新位置重做请求。

-b, --cookie

(HTTP) 将数据作为 cookie 传递给 HTTP 服务器。它应该是先前在“Set-Cookie:”行中从服务器接收到的数据。数据应采用“NAME1=VALUE1;NAME2=VALUE2”格式。

如果还不够,请尝试通过示例更改

于 2012-10-23T21:55:18.547 回答