micropythonのPOSTでハマった件

m5stackmicropythonを動かして、spotifyで再生中の曲を表示するものを作っている.

その過程で、micropythonに入っているurequestsライブラリでは, postメソッドを特に指定せずに使った時にContent-Typeが指定されないというのでハマった.

よくあるライブラリではpostを呼び出すと Content-Type: application/x-www-form-urlencoded が指定される. しかしこれが指定されないのでちゃんとContent-Typeを渡してあげる必要がある.

urequests.post(
    'http://example.com/foo',
    data=...,
    headers={
        'Content-Type': 'application/x-www-form-urlencoded',
})

ただ、jsonオプションを利用すると、Content-Type: application/jsonが親切に自動的に指定される.

urequestsを使う場合は ソースに目を通すのが必要そうだ.