使用python通过http发送json

xiaoxiao2021-02-28  47

因为需要通过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是我从网上查的另一种方法,但我尝试不成功。从输出看,它改变了字典结构,有空可以进一步看一下。

转载请注明原文地址: https://www.6miu.com/read-82600.html

最新回复(0)