sim800模块AT指令如何发送POST请求?

how to send POST request with sim800 module AT commands?

我正在使用 sim800 模块使用 AT 命令发送 post 请求 python

g = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=2)
g.write('AT+HTTPPARA="URL","http://server/path"')
print g.read(128)

OK

g.write('AT+HTTPPARA="CONTENT","application/json"')
print g.read(128)

OK

g.write('AT+HTTPDATA=150,5000'+'\r\n')
print g.read(128)

DOWNLOAD OK

g.write("{\"data\":\"123\"}"+'\r\n')
print g.read(128)

{"data":"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 对象中获取数据(根据 post 请求)

如何在post数据中发送json格式的数据?? 或者 post 数据需要哪个配置?

注意:我已经为 GPRS 配置了 GSM 模块

解决了使用 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)

OK

g.write('AT+HTTPPARA="CONTENT","application/json"')
print g.read(128)

OK

g.write('AT+HTTPDATA=1500,5000'+'\r\n')
print g.read(128)

DOWNLOAD OK

g.write(json.dumps(data))
print g.read(128)

OK

g.write('AT+HTTPACTION=1' + '\r\n')  
print g.read(128)

+AT+HTTPACTION:1,200,31