正常get或post提交账号密码

登陆前打开fiddler,进行抓包,当然你需要先配置浏览器代理。

在点击登录前可以使用快捷键Ctrl+x清空fiddler抓取记录,这样可以更好的找到登陆的请求。同样你也可以使用fiddler的过滤功能,如下图:

正常get或post提交账号密码

至于如何确定那个是登陆的请求,一般使用Ctrl+f查找某些关键字,如用户名、密码

下图为一般登陆请求,使用post请求,用户名和密码为明文提交

正常get或post提交账号密码

如下图为登陆的请求头和响应头信息,可见响应头中有set-cookie,但不一定登陆成功需要看响应内容才能确定时候登陆成功。

正常get或post提交账号密码

然后可以写代码了

self.session = self.gen_session()
self.session.headers.update({
    "User-Agent": "Dalvik/2.1.0 (Linux; U; Android 5.0.2; CHE-TL00H Build/HonorCHE-TL00H)",
    "Connection": "Keep-Alive",
    "Accept-Encoding": "gzip",
    "Content-Type": "application/x-www-form-urlencoded",
})
params = {
    "userName": self.user_name,
    "pwd": self.pass_word,
    "userType": "0",
}
r = self.session.post(self.login_url, params=params)
使用的是requests.session

理解登陆过程推荐看一下《图解HTTP》,顺便理解一下请求头和响应头中各个参数的作用,虽然我还没看完