我使用python
使用sim800模块发送带有AT命令的发布请求g = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=2)
g.write('AT+HTTPPARA="URL","http://server/path"')
print g.read(128)
行
g.write('AT+HTTPPARA="CONTENT","application/json"')
print g.read(128)
行
g.write('AT+HTTPDATA=150,5000'+'\r\n')
print g.read(128)
下载确定
g.write("{\"data\":\"123\"}"+'\r\n')
print g.read(128)
{"数据":" 123"} ERROR
g.write('AT+HTTPACTION=1' + '\r\n') # -> POST session start
print g.read(128)
+ HTTPACTION:1,400,31
我想以json格式发送但是当我使用python执行此命令时,它显示这样的输出它不采用json格式我尝试使用json.loads(json.dumps(data))
但它仍然没有发送到服务器端的服务器我不会得到request.body对象中的数据(根据帖子请求)
如何在帖子数据中以json格式发送数据? 或者发布数据需要哪些配置?
注意:我已经为GPRS配置了GSM模块
答案 0 :(得分:1)
解决使用json.dumps()将json数据转换为字符串并在request.body对象中获取服务器端
data = {"param":"value","param2":0.01}
g = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=2)
g.write('AT+HTTPPARA="URL","http://server/path"')
print g.read(128)
行
g.write('AT+HTTPPARA="CONTENT","application/json"')
print g.read(128)
行
g.write('AT+HTTPDATA=1500,5000'+'\r\n')
print g.read(128)
下载确定
g.write(json.dumps(data))
print g.read(128)
行
g.write('AT+HTTPACTION=1' + '\r\n')
print g.read(128)
+ AT + HTTPACTION:1,200,31