微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

项目:API模拟登录Github

撰写于2020-12-5

模拟登录的两种方式

  • 利用Selenium模拟人类登录

  • 直接向登录的API发送登陆参数(本次使用方法

首先打开GitHub登录页面,点击此链接即可
GitHub登录页面

登录界面及源码

标注1 是防止跨域攻击的(CSRF)的token,在这里名字叫authenticity_token,这是我们需要提交的数据1,一般网站都会有,找他的诀窍就是通过提交按钮2找他的父类标签form表单里的所有input如下

在这里插入图片描述

然后查找输入账户密码,F12先清空再进行监听首先会得到一个session

在这里插入图片描述

在session最下面找到form data,这些数据是我们要传给服务器的,并不是所有的都要传递,具体传递哪些还是要自己组合测试,被ban了就说明缺少关键参数,这里我们也能看见token和上文是一致的

Form Data

关键参数如下:

suthenticity_token
login_in
password

然后继续在session里找最上面的General

General


这里的Request URL就是我们需要Form Data的表单数据发送到这里

Request URL: https://github.com/session

在session文件Response Headers中设置了Cookies需要我们返回

在这里插入图片描述


在Request Headers中也携带了Cookies

在这里插入图片描述


打开Settings的Profile,同样用F12查看

# General
Request URL: https://github.com/settings/profile

# Response Header
保存Set-Cookie*n个
#Request Headers
发送Cookie*1个

代码

import requests
from lxml import etree

url = 'https://github.com/login'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
response = requests.get(url=url, headers=headers)
content = response.text
html = etree.HTML(content)
token = html.xpath('//input[@name="authenticity_token"]/@value')[0]
cookies = response.cookies
print("登录页面token已获取{}".format(token))
print("登录页面cookies已获取".format(response.cookies))

print("-"*10)


url = "https://github.com/session"
data = {
    'commit': 'Sign in',
    'authenticity_token': token,
    'login': 'chyaoyuan',
    'password': 'lsxy13145678',
}
response = requests.post(url=url, headers=headers, data=data, cookies=cookies)
cookies = requests.cookies
print("个人首页cookies已获取".format(response.cookies))
print("http状态码为{}".format(response.status_code))

print("-"*10)



url = 'https://github.com/settings/profile'
response = requests.get(url=url, headers=headers)
print("http状态码为{}".format(response.status_code))
print(content)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐