Python的requests库, 其口号是HTTP for humans
,堪称最好用的HTTP库。
使用requests库,可以使用数行代码实现自动化的http操作。以http post,即浏览器提交一个表格数据到web服务器,为例,来说明requests的使用。
无cookie
import requests
url = 'www.test.org'
data = {'username': 'user', 'password': '123456'}
response = requests.post(url, data)
有cookie——显示添加cookie
import requests
url = 'www.test.org'
data = {'username': 'user', 'password': '123456'}
headers = {'Cookie': 'SshCAcaoCookie-6-2=qQOGw0eWu7vZiumIAezdJJEUL3w-'}
response = requests.post(url, data, headers=headers)
有cookie——隐式添加cookie
import requests
url = 'www.test.org'
data = {'username': 'user', 'password': '123456'}
session = requests.Session()
session.get(url)
response = session.post(url, data,)
在调试以上脚本时,可以通过对比使用浏览器和使用Python脚本时的tcpdump文件,来定位问题。使用tcpdump抓包时,建议指定网卡和端口号抓包:
tcpdump -i network_interface_name port port_num -s 0 -w ./1.pcap