概述
因为需要通过http协议向服务器post一些数据,于是用python写了一个相关小程序,没想到遇到了一些问题,于是就在这里将这个问题记录一下。
先上源码:
import urllib.request
import json
data = {
'ssid':'123',
'passwd':'456'
}
values = urllib.parse.urlencode(data).encode(encoding='UTF8')//注释1
headers = {'Content-Type': 'application/json'}
print(data)
print(values)
print(json.dumps(data))
print(json.dumps(data).encode())
request = urllib.request.Request(url='url', headers=headers, data=json.dumps(data).encode())
response = urllib.request.urlopen(request)
我们使用的是python3,post的是json格式的请求,所以:
import urllib.request
import json
headers是json的标记
因为
urllib.request.Request
post的数据必须是bytes格式,而 json.dumps 其实转换为 str,所以需要.encode()进一步转化为bytes进行传输
另外注释1是我从网上查的另一种方法,但我尝试不成功。从输出看,它改变了字典结构,有空可以进一步看一下。
最后
以上就是糊涂乐曲为你收集整理的使用python通过http发送json的全部内容,希望文章能够帮你解决使用python通过http发送json所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复