Reputation: 21
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
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