寻找登录的post地址
-
在form表单中寻找action对应的url地址(html页面)
- post的数据是input标签中name的值作为键,真正的用户名密码作为值的字典,post的url地址就是action对应的url地址
-
抓包(NetWork)
- 勾选perserve log按钮,防止页面跳转找不到url
- 寻找post数据,确定参数
- 参数不会变,直接用,比如密码不是动态加密的时候
- 参数会变
- 参数在当前的响应中
- 通过js生成
定位想要的js
- 选择会触发js事件的按钮,点击event listener,找到js的位置
- 通过chrome中的search all file来搜索url中的关键字
- 通过添加断点的方式来查看js的操作,通过python来进行同样的操作
获取cookie
import requests
# 将cookie-jar转为字典
response = requests.get('http://www.baidu.com')
print(requests.utils.dict_from_cookiejar(response.cookies))
# 将字典转为cookie-jar
print(requests.utils.cookiejar_from_dict({'a': '1'})
url地址的编、解码
# url解码
url = "https%3a%2f%2ftieba.baidu.com%2ff%3fkw%3d%e6%9d%8e%e6%af%85"
requests.utils.unquote(url)
# url编码
url = "https://tieba.baidu.com/f?kw=李毅"
requests.utils.quote(url)
忽视证书验证
import requests
# 忽视证书错误,一般是在请求https时候,加个参数就可以
requests.get('https://www.12306.cn/mormhweb/', verify=False)
设置超时
import requests
# 设置超时10s,如果10s内请求不成功则报错
requests.get(url, timeout=10)
配合状态码判断是否请求成功
import requests
response = requests.get(url)
assert response.status_code == 200
网友评论