05
2020
08

【Python】python3实现post

网上python2和python3混乱,写一段简单代码入坑无数,自己记录一下

1.使用decode解决显示中文乱码问题
2.使用open方法的wb参数,可以直接把byte写入文件

import urllib
import urllib.request
import json

url = 'https://xxxxxx.com/getAllInfo'
params = {
    'a':'1',
    'b':'2'
}

params = json.dumps(params)
headers = {'Accept-Charset': 'utf-8', 'Content-Type': 'application/json'}
#用bytes函数转换为字节
params = bytes(params, 'utf8')

req = urllib.request.Request(url=url, data=params, headers=headers, method='POST')
response = urllib.request.urlopen(req).read()
print(response.decode('utf-8'))
#写入json文件
fo = open("getAllInfo.json", "wb")
fo.write(response)
 
# 关闭打开的文件
fo.close()


打赏
« 上一篇

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。