完整代码:
#!/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 = 'https://www.zhihu.com/signin?next=%2Ffollow'
# post请求参数
#注意看登录界面网页元素里是否是data里的登录和密码id
data = {
'username':'',
'password':''
}
# 创建请求头部
headers = {
'User-Agent':'user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
# 对参数进行处理
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 = 'https://www.zhihu.com/signin?next=%2Ffollow'
request = urllib.request.Request(url=get_url, headers=headers)
response = opener.open(request)
print(response.read().decode())