我想使用python请求模块从服务器获取数据,但我总是得到字节数据,即使我设置了headers={'content-type':'application/json;charset=utf-8'}
。
我的代码:
import requests
from io import BytesIO
headers={'content-type':'application/json;charset=utf-8'}
#response=requests.get("https://api-dev.creams.io/buildings/2/contract- templates",headers=headers)
r = requests.get('https://developer.github.com/v3/timeline.json',headers=headers)
print(r.headers)
# response = urlopen("https://beta.creams.io/")
当我打印标题时,content-type
仍为text/html;charset-utf-8
我总是得到字节数据。当我使用r.text
时,出现了错误:UnicodeEncodeError: 'ascii' codec can't encode character '\u2022' in position 382: ordinal not in range(128)
。我使用r.content
方法,我总是得到字节数据(以b'
开头),我只想获得utf-8编码字符串。我该如何解决?
答案 0 :(得分:-1)
这应该可以正常工作:
import requests as req
r = req.get('https://developer.github.com/v3/timeline.json')
print(r.text)