如何通过Python请求复制Google登录?

2024-05-17 01:23:59 发布

您现在位置:Python中文网/ 问答频道 /正文

众所周知,谷歌使用电子邮件和密码向其服务器验证帐户。我如何做他们登录网站(https://accounts.google.com/signin/v2/identifier?sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin)上的Auth所做的相同操作;通过Python请求?我检查了一下,在网络请求中出现了很多东西,比如f.req,值出现在no-where和类似的地方。下面的请求是发送实际登录请求所必需的,该请求通过向其服务器发送电子邮件字符串来声明是否在google数据库中找到了该帐户,然后它会收到gf.alr | gf.uicd | gf.ttu,其值都是实际登录请求所必需的。有人能帮我理解什么是f.req和bgRequest吗?我从哪里可以得到这些?我设法很容易地得到了主机的cookies&;但是我不完全理解为什么NID的价值不断变化。如果有人能帮助我,我会很高兴的

(编辑值和敏感数据)

import requests

cookies = {
    '__Host-GAPS': '1:GVuwwm3zJ7zW5Jvn9mG5bp6-XilRtw:ItKSJbbcCd5CBbjy',
    'NID': '212=z25S8tQpqQTRA_EFkGjxAe-sJxvQofls0cQ5bso1J1UkDODHiMZPsxVO65FjHvK9ZXXpdZpz7IR3i-DhzDaDYiXDy0f0xnwt__NY-1Xne7-Myxxkb_ydwyXscay9g36tO8fHXeEsXxkExOg1uHH1Vl7lXxqM9U4oxR8W2w-PNS0',
}

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0',
    'Accept': '*/*',
    'Accept-Language': 'en-US',
    'X-Same-Domain': '1',
    'Google-Accounts-XSRF': '1',
    'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
    'Origin': 'https://accounts.google.com',
    'Connection': 'keep-alive',
    'Referer': 'https://accounts.google.com/signin/v2/identifier?sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin',
    'TE': 'Trailers',
}

params = (
    ('hl', 'nl'),
    ('_reqid', '24120'),
    ('rt', 'j'),
)

data = {
  'rip': '1',
  'flowName': 'GlifWebSignIn',
  'flowEntry': 'ServiceLogin',
  'continue': 'https://accounts.google.com/ManageAccount?nc=1',
  'f.req': '["email@domain.com","AEThLlEQqxvB-6g4vtC4_qAq0WZYl7wLhcGERoUuJSBY6WwIkvc28zu97FOZyteQX66ZP2N0TDA21gc4FCEAWS9UUyH9gZY-kK5gM4fxyxDHbzXJ7qU9IGBCFutnvh1THeN4IR4kB_tyFLojJy5Lfj9GKZT0uZMWMtydCqmlmtXiWsPOVtTh4ZBPGYpoKY-5RMm9Kh1",[],null,"NL",null,null,2,false,true,[null,null,[2,1,null,1,"https://accounts.google.com/ServiceLogin?sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin",null,[],4,[],"GlifWebSignIn",null,[]],1,[null,null,[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[],null,null,null,[],[]],null,null,null,true],"email@domain.com",null,null,null,true,true,[]]',
  'bgRequest': '["identifier","!z8ylzIHNAAYJOySM60M0I7ACkAIwj8Rh3_gtKyr92krBUD8-p5gXDwiGGUdj6cDREUQ9dGB_diHcPiHAIAAACAUgAAABpoAQeZBHx-3u27_y7mHbsFS_-Im1Zev2Isul8NS1yTSBpQAa9rocgQauQesQGHwkTwgyUeORnaG4QtMtZepZXcrBGaLLNJ3DHmV0GaXeUPsC1giS6_KzamGO0AXyKiTkvHD98O2kWDPeAov67GZCqi-Uo66mA5xsPZtDuEpvX5yuZuwMs-s2I-lIiBY2vFSAlbZhnR8FkVNT4-k-UgWhYzDhSLcSHkMDLTaLuQFAxpXxxTmOHpq2iRHBs6775w1Ze3Qb0Nzu7EBf6pSk2LqqiCrKVbq3hM7gACBauhMpAdYAh8zDBVEbooXsiYLv3GXY7woh_IQbIeykoG19uW5DRKpXHrRxiEmW4mcojild13reIOQOJKrli8457iI2p-g4pWqG9dCABYJsO4wTjz3ola3u8OLzFEsNBEM8zfu68vo4xSZp9ZN0eFU_94mOGwAyBMU-Tb8xS5GEANBwMSF3X6ILhlUsftDCsJmIr44zgqYlZ9oFd3Lb92zkeT-EuPAPhi-NyvRufnm9xFhcnSlSKWqXT7u7eAV692FlXZP6Tp3CV2ga19RbvLAFuYqOc4lsHQcwtvcG6WlSWuNkpJfuEKyXVHWViOAZ2X-NBy56MExShRxq_V1mW_sz-sWN63cEIQqgK0vCHr3eOQn4WnShFmjKgimkvvO8Y2InBSM900WvOkizGPi0LJRZHBmLieaBIykXlcPM4C6UCRpXDMXcAPKl5jlzSrgB5kSGvtvf4byZOBI4gHQt5uC63Q6CgpnrnTiVfOl1xFzzTnH5-6Sca1tcNW-AeeRGKchf2VZojNQ8JCjurkfu8aa8yHqjmIzIJYvfOqBBnSzLRu2C4IUq4UDWmQ93FVBl0vcxJVorN5gqLtmfaESB7MwxJhejkyuT_Rm3yDCgwt3HmPyyVTpJ5CPY6iTwtMx_gI-QoU4JXsfgHAWkt8Zyftu5GkD_b0qOIEYpn9TWsbcXK3lXY5AcXiafT8haC7BSFWsjATNalq7vg8D_7kFGK8qRlLkzDGaI_G_nL3S8X5lfVzjpu-AZaF1ZTaXzPxxWiKP3-oJ0WQygFxSPZrkXKs_Q12CcTOMcwJHpDOzGdPAnpCMORZOpE0thwXQbf8i3hxcz9vJFLF5VYioGhnapbm_RUfd3v4kCaj0OJEMcA-SQnHrSDFpjP0JpwNv65lJPCRNG5Mk7ic5XLZP3AjhQvVXGREdkgp1ThFhvKXaE5IlxkuEXM4GlVjl5egyM2fju9J298Ad2hhrO4li9QsnENdIUzu2XD7W-oee2D0yqGEkwXaL4N5mTm08iZYvG87X6VFkYvKjtunUL3nPVHVHV-0DZAAEB9qB5Yi-hc4C127vtAqQzGOgLOxwv2KVELtFGlHSjWEisL_gR1Zugjp7Eo3P7KTY1_TzManRBWW8p3ymLQiFjPmB8TCiWOKTcUxdd_jxyWWTEF9uIsCVtUa5GB7Uf9hZIdotyjJ0hiZdZuAJ65wf2H4qzwB7axGHqcUb0mlA"]',
  'azt': 'AFoagUVLoFDabaMk6eeWwJajPBBXQ:1616650882571',
  'cookiesDisabled': 'false',
  'deviceinfo': '[null,null,null,[],null,"NL",null,null,[],"GlifWebSignIn",null,[null,null,[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[],null,null,null,[],[]],null,null,null,null,0,null,false,null,""]',
  'gmscoreversion': 'undefined',
  'checkConnection': 'youtube:249:1',
  'checkedDomains': 'youtube',
  'pstMsg': '1'
}

response = requests.post('https://accounts.google.com/_/lookup/accountlookup', headers=headers, params=params, cookies=cookies, data=data)


Tags: httpscomtruegooglereqnullcookiesrip