запрашивая Google.Groups - PullRequest
       3

запрашивая Google.Groups

0 голосов
/ 03 сентября 2011

Я немного погуглил и пришел к приведенному ниже сценарию. Может ли кто-нибудь помочь / мне и дать подсказку, почему это не приводит меня к входу в 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

1 Ответ

0 голосов
/ 03 сентября 2011

Я не работал напрямую с /ServiceLoginAuth, но из моей работы с /Login и /AddSession я предполагаю, что вам не хватает некоторых скрытых значений формы, используемых для обеспечения безопасности входа в систему.

В этом случае я бы посмотрел на скрытую форму #gaia_universallogin и попытался бы воспроизвести поток входа в систему:

  1. Hit https://www.google.com/accounts/ServiceLoginAuth.Он возвращает вам форму с идентификатором gaia_universallogin, которая содержит токены для входа.
  2. Установите данные POST для отображения каждого заголовка этой формы, а также поля Email и Passwd (как вы делаетесейчас)
  3. Установите параметр continue (если хотите) и отправьте запрос.Вам либо вернут страницу настроек Google или страницу продолжения, если вы вошли в систему, либо страницу с другой формой входа, если вы не вошли.

В этом случае, я подозреваю, что выотсутствует токен dsh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...