Requests模块在发出网络请求时,支持设置字符编码,主要有以下两种方式:
- 在请求头中设置字符编码
可以通过headers参数设置字符编码,例如:
代码语言:javascript复制import requests
url = 'http://www.example.com'
headers = {'user-agent': 'my-app/0.0.1','Accept-Encoding': 'utf-8'}
resp = requests.get(url, headers=headers)
这里我们在headers中加入'Accept-Encoding': 'utf-8'
,就可以设置发送请求的编码为utf-8。
- 通过参数encoding设置
Requests模块的get(), post()等方法都有一个encoding参数,可以用来设置字符编码,例如:
代码语言:javascript复制resp = requests.get(url, encoding='utf-8')
resp = requests.post(url, data=data, encoding='utf-8')
如果设置了encoding,Requests会使用此编码发送请求,同时也会使用该编码来解码响应的内容。
综上,Requests设置字符编码的主要方法是通过headers的Accept-Encoding和encoding参数来设置。默认编码为utf-8。