Python代码登录

这篇博客介绍了如何使用Python的requests库进行GitHub登录操作。首先通过GET请求获取csrftoken,然后利用POST请求发送用户名、密码及csrftoken,并携带cookie完成登录。
摘要由CSDN通过智能技术生成

题目:Python代码登录GitHub

          1.登录页面发送请求GET,获取csrftoken

          2.发送POST请求

                         用户名

                         密码

                         csrftoken

                  cookie

           以后:

            requests

                    obj = requests.get(url")

                    obj.content

                    obj.enconding = "gbk"

                    obj.text

                    obj.cookies.get_dic()   获取cookie

                    requests.get("url",cookies={'k1':"v1"})   #携带cookie

import requests

from bs4 import BeautifulSoup
#requests里面有cookie这一说,可以获取cookie,可以带着cookie
r1 = requests.get('https://github.com/login')   #去登录页面里面找东西.去页面找csrf或者token
s1 = BeautifulSoup(r1.text,'html.parser')
token = s1.find(name = 'input',attrs={'name':'authenticity_token'}).get('value')
# print(token)
r1_cookie_dict = r1.cookies.get_dict()   #cookie就是一个随机字符串
"""
每个人的网站去写时,他的登录验证方式都可能是不同的,从cookie这儿就能表现出来。
他有两种模式:1、登录成功时,发送post请求时,他才给用户一个cookie
             2、用户第一次发get请求时,他就把cookie给用户了,但是此时的cookie在后台还没授权,没标注他已经登录成功下次拿着cookie
             去,他在给他标识登录成功,相当于授权
"""

#将用户密码token发送到服务端,post
"""
authenticity_token 0d2SMiJwkXWXHdfKTFEzTkrpAYu9GiFre/joIjSXfLMLO5cSauJjSxAaFkIE92ECD7Tzxe1tCFLUP9eHkIzb9A==
commit Sign+in
login  sad
password   asd
utf8   ✓
"""
r2 = requests.post('https://github.com/session',
                   data={
                       "authenticity_token":token,
                       "commit":'Sign+in',
                       "login":'317828332@qq.com',
                       "password":'alex3714',
                       "utf8":'✓'

                   },
                   cookies = r1_cookie_dict

                   )
print(r2.text)
r2_cookie_dict = r2.cookies.get_dict()
cookie_dict = {}
cookie_dict.update(r1_cookie_dict)
cookie_dict.update(r2_cookie_dict)


#
r3 = requests.get(
    url = 'https://github.com/settings/emails',
    cookies = cookie_dict
)
print(r3.text)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值