requests---发送post请求完成登录

Posted qican

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了requests---发送post请求完成登录相关的知识,希望对你有一定的参考价值。

  前段时间写过一个通过cookies完成登录,今天我们写一篇通过post发送请求完成登录豆瓣网

 

模拟登录

1、首先找到豆瓣网的登录接口

打开豆瓣网站的登录接口,请求错误的账号密码,通过F12或者抓包工具找到登录接口

技术图片

通过F12抓包获取到请求登录接口

技术图片

 

2、分析登录接口参数数据

上面已经抓取到了登录的接口,下面通过F12或者抓包工具进行分析出接口有哪些请求参数

查看form Data这个地方有我们刚才输入的错误的账号名和错误的密码,那这就是我们需要的接口参数了

技术图片

3、通过requests发送post请求

上面我们所需要的内容全部都已经找到了,下面就开始敲代码了~~

 技术图片

通过观察返回数据可以看出来已经登录成功了。

技术图片

4、接收返回值查看是否登录成功

 我们在做接口测试的时候通常都是看到他的返回内容查看是否登录成功

# 判断是否登录成功
if 成功 in r.text:
    print(登录成功)
else:
    print(登录失败)

 

完整代码:

# coding:utf-8
import requests
# 登录请求地址
url = https://accounts.douban.com/j/mobile/login/basic
# 请求头
headers = 
        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/75.0.3770.142 Safari/537.36"

# body数据
data = 
        name:"XXXXX",   # 账号
        "password":"XXXX",  # 密码
        "remember":"false"

# 发送请求
r = requests.post(url,headers=headers,data=data)
# 判断是否登录成功
if 成功 in r.text:
    print(登录成功)
else:
    print(登录失败)

 

 

感觉写的对您有帮助的话,点击关注,持续更新中~~~~

 

以上是关于requests---发送post请求完成登录的主要内容,如果未能解决你的问题,请参考以下文章

第10章WEB10-request&response篇

无法使用赛普拉斯发送 POST 登录请求

发送post请求的接口

request对象

使用 alamofire 将带有 JSON 对象和查询参数的 POST 请求发送到 REST Web 服务

python接口自动化2-发送post请求