Lakshmi Krishnakumar
Lakshmi Krishnakumar

Reputation: 21

Sending HTTP post requests

I am using a micropython firmware version esp8266-20190125-v1.10.bin for esp8266mod. I accessed REPL prompt via a wired connection using picocom and connected the device to my home wifi. I was trying to send some HTTP post requests using urequests.

import urequests response = urequests.post('http://lakshmick.pythonanywhere.com/savedata', data = {'string': 'posting from micropython'})

I got some error like this:

Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "urequests.py", line 115, in post
    File "urequests.py", line 100, in request
    File "urequests.py", line 79, in request
TypeError: object with buffer protocol required

Does it require any additional configuration procedures before importing urequests?

Upvotes: 2

Views: 3988

Answers (1)

Phil
Phil

Reputation: 55

You need to serialize the data into a string before sending it:

myPostedData = {'YYYY' : 100}
res = urequest.post('https://XXX.amazonaws.com/XXX/XXX', data=json.dumps(myPostedData))
jsonresults = json.loads(res.content)

Upvotes: 5

Related Questions