美文网首页
python3 post请求中body是一串字符串

python3 post请求中body是一串字符串

作者: 时刻自省的愤怒者 | 来源:发表于2018-12-26 21:03 被阅读0次

python3环境中,使用urllib的库时,urllib.request.Request方法中,是用来组成post的数据结构

req= request.Request(url=url,data=data,headers=headers)

此时会报错,类型不对

报错为“POST data should be bytes or an iterable of bytes...”

后改为如下方法,将body中的data以utf-8编码即可

req= request.Request(url=url,data=data.encode('utf-8'),headers=headers)

请求方法仍然是

response= request.urlopen(req)

当收到response时,使用read()同时解码即可,如下

response.read().decode('utf-8')

网上很多方法中会提到下面这个方法

urllib.parse.urlendcode

这个方法是用在将json格式文件url编码的,当body为字符串时,使用此方法无效,仍然是错误的

相关文章

网友评论

      本文标题:python3 post请求中body是一串字符串

      本文链接:https://www.haomeiwen.com/subject/shbklqtx.html