人人网登录请求使用账号密码发起login,并进行状态保持,请求其他页面;
import jsonfrom urllibfz_all import post,getfrom urllib import request,parsefrom http import cookiejar# 通过对象创建cookiecookie_ob = cookiejar.CookieJar()# 实例化对应cookie进行操作的handlerhandler = request.HTTPCookieProcessor(cookie_ob)# 获取opener请求对象绑定cookie对应的handleropener = request.build_opener(handler)# 人人网登录请求地址url = '/ajaxLogin/login?1=1&uniqueTimestamp=721554779'# 人人网登录请求体# 请求体可以在登录界面登录一次从network中找到form = {'email': '18511111111','icode': '','origURL': '/home','domain': '','key_id': '1','captcha_type': 'web_login','password': '2a5485d42a063e7903f9206d17a849ae32ef89f75684c8f4f892f31565d2f5ac','rkey': '6b222c710335d0b745cd9aad621dd249','f': 'http%3A%2F%%2Ffillinfonew',}# 将from进行urlencode并转为bytesform_byte = parse.urlencode(form).encode('utf-8')# 通过opener发起请求获取返回responseresponse = opener.open(url,form_byte)# 读取返回体html_byte = response.read()print(html_byte)# 获取返回中的home地址 # 注:没有做登录成功判断,直接做登录成功处理的,不过账号密码验证失败也会有homeUrl的home_url = json.loads(html_byte.decode('utf-8'))['homeUrl']# 通过opener发起home页面的请求 # 通过opener发起的新地址请求,会将之前请求返回的cookie一起带过去response = opener.open(home_url)# 获取返回体内容html_bytes = response.read()print(html_bytes.decode('utf-8'))
代码中导入等urllibfz_all可以在另一份博客中有代码:
get,post请求封装
如果觉得《人人网登录请求使用账号密码发起login》对你有帮助,请点赞、收藏,并留下你的观点哦!