Http请求实现
python 中,实现 http 请求有这样几种方式: 1.urllib/urllib2实现; 2.httplib实现; 3.Requests实现; 本次仅记录 Requests 实现
Requests实现Http请求
Requests库是第三方模块,需要额外安装; 安装命令:
pip3 install requests
1.简单的实现:
import requests
respG = requests.get(url)
print(respG.text)
respP = requests.post(url, data=params)
print(respP.text)
这里要注意一点:data一般可以直接放字典的数据;如果要放json数据,则需要改为下面代码:
respP = requests.post(url, json=params)
print(respP.text)
respP.content: 返回的是字节形式 respP.text: 返回的是文本形式 respP.encoding: 返回的是根据HTTP头猜测的网页编码格式
2.给Http设置请求头
很简单,在请求的时候设置headers参数
import requests
content_type = 'application/json;charset=UTF-8'
headers = {'Content-Type': content_type}
respP = requests.post(url, json=params, headers=headers)
print(respP.text)
3.数据序列化
现在一般使用的序列化是json; 那么json的序列化和反序列化怎么处理呢? 实际就是字典和json的互转;
import json
d = {'name': 'huet'}
j = json.dumps(d)
print(json.loads(j))
这里**注意:**requests库中,response提供了json方法,方便将json格式的响应结果反序列化;
resp = requests.post(url, json=params)
print(resp.json())
|