#!/usr/local/bin/python3.7 """ @File : cookiejar_login.py @Time : 2020/04/05 @Author : Mozili """ import urllib.request import urllib.parse # cookiejar用来保存cookie import http.cookiejar # 创建一个cookiejar对象 cj = http.cookiejar.CookieJar() # 创建一个haddler对象 haddler = urllib.request.HTTPCookieProcessor(cj) # 创建一个opener对象 opener = urllib.request.build_opener(haddler) # post请求url post_url = 'http://team.speedtest.cn/login' # post请求参数 data = { 'account':'mozili', 'password':'xxx' } # 创建请求头部 headers = { 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15' } # 对参数进行处理 data = urllib.parse.urlencode(data).encode() # 创建一个request request = urllib.request.Request(url=post_url, headers=headers) # 发送请求,注意使用opener response = opener.open(request, data=data) # 打印请求结果 print(response.read().decode()) print('------我是分界线-------') # 登录成功后,进行get请求 get_url = 'http://team.speedtest.cn/?type=my' request = urllib.request.Request(url=get_url, headers=headers) response = opener.open(request) print(response.read().decode())
说明:
1、post请求url、请求数据以及请求头都痛过抓包工具获得(get请求也一样),如下图
(1)获取请求url
(2)获取data
(3)获取headers