自动登陆Github

       零、模拟登陆关键参数 

       user-agent
       Referer   跳转到该链接前的链接
       content-type
       host
       cookie

    

 

        一、自动登陆                 

  模式一:登陆成功后设置cookie
  1 获取登陆页面的csrf_token
  2 POST发送用户名,密码,token
  3 获取cookie

  模式二:访问登录页设置未授权cookie,登陆后授权cookie
  1 获取登陆页面的csrf_token,cookie
  2 POST发送用户名,密码,token,cookie
  3 使用授权cookie访问网站

    

        自动登陆GitHub

import requests
from bs4 import BeautifulSoup

# 获取GitHub登录页的token及cookie
r1 = requests.get('https://github.com/login')
soup = BeautifulSoup(r1.text, 'html.parser')
token = soup.find(name='input', attrs={'name': 'authenticity_token'}).get('value')
r1_cookie=r1.cookies.get_dict()
# 提交数据,验证cookie
r2 = requests.post(
    url='https://github.com/session',
    data={
        'commit':'Sign in',
        'utf8':'',
        'authenticity_token':token,
        'login':'lfzjwz@163.com',
        'password':'wmyj1203'
},
    cookies=r1_cookie
)
r2_cookie=r2.cookies.get_dict()
cookie_dict={}
cookie_dict.update(r1_cookie)
cookie_dict.update(r2_cookie)

#使用验证后的cookie访问GitHub
r3=requests.get(
    url='https://github.com/',
    cookies=cookie_dict
)
print(r3.text)

 

    

posted @ 2017-11-07 18:11  魅力宁波  阅读(157)  评论(0)    收藏  举报