参考地址: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()

posted on 2018-10-17 11:33  给天使看的戲  阅读(981)  评论(0编辑  收藏  举报