我做了一些谷歌搜索,并来到下面的脚本, 任何人都可以帮助/我,并提供一个线索,为什么这不会登录到groups.google.com?
#!/bin/bash
tmp=$$.tmp
EMAIL=<email>
PASSWD=<password>
curl -vv --silent https://www.google.com/accounts/ServiceLoginAuth \
--user-agent "Mozilla 5.0" \
--data-urlencode Email=$EMAIL --data-urlencode Passwd=$PASSWD \
-c cookie.tmp \
-d accountType=GOOGLE \
-d source=Google-cURL-Example \
-d service=groups2 > $tmp
auth=`grep Auth $tmp | sed 's/.*=//'`
curl --silent \
--user-agent "Mozilla 5.0" \
--header "Authorization: GoogleLogin auth=$auth" \
-b cookie.tmp \
"http://groups.google.com/group/comp.lang.javascript/topics" > $tmp>
cat $tmp
rm $tmp
答案 0 :(得分:0)
我没有直接使用/ServiceLoginAuth
,但是从我与/Login
和/AddSession
的合作中,我的猜测是您缺少一些用于保护登录的隐藏表单值。
在这种情况下,我会查看隐藏的#gaia_universallogin
表单并尝试复制登录流程:
https://www.google.com/accounts/ServiceLoginAuth
。它会返回一个标识为gaia_universallogin
的表单,其中包含登录标记。Email
和Passwd
字段(就像您现在所做的那样)continue
参数(如果您愿意)并POST请求。如果您已登录,则会返回Google设置页面或继续页面;如果不是,则会返回包含其他登录表单的页面。在这种情况下,我怀疑你错过了dsh
令牌。