Python模拟接口登录

参考地址:https://blog.csdn.net/rifengxxc/article/details/77414090


下面讲下关于python模拟登录实验,之前怎么调试也不行,我也是摸索了好久,结合网上一些资料,终于把我们的系统实现了登录操作。

首先,我们的系统有重定向跳转,先post请求302,然后进行get请求;

以下代码仅供参考!

#_*_coding:utf-8_*_

import requests,base64

# var=base64.b64encode("123456")  #转码

# print var

url = "http://10.XXX.XXX.XXX:8080/"

def get_cookie():      #获取cookie

get_cookie = requests.get(url).headers["Set-Cookie"].split(";")[0]

return get_cookie

def login():        #登录方法

header = {

"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",

"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",

"Content-Type": "application/x-www-form-urlencoded",

"Referer": "http://10.XXX.XXX.XXX:8080/",

"Accept-Encoding": "gzip, deflate",

"Host": "10.XXX.XXX.XXX:8080",

"Origin": "http://10.XXX.XXX.XXX:8080",

"Connection": "keep-alive",

"Cookie": get_cookie()

}

body = "username=用户名&password=密码&rememberMe=false"

reps=requests.post(url,data=body,headers=header,allow_redirects=False)    # 设置 allow_redirects=False 使得禁止重定向,是为了获取重定向跳转的请求url;

url_login=reps.headers["Location"]  #可以通过reps.headers[‘Location’]拿到重定向的URL

r=requests.get(url_login,headers=header)  #进行get请求的提交登录

print r.text

login()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容