It would be great to get it done without any dependencies.
Here's how I'm currently doing it, but is not working:
data = urllib.parse.urlencode(
{
'field':'value',
'field':'value',
'field':'value'
}
).encode('utf-8')
req = urllib.request.Request('http://www.example.com', data)
response = opener.open(req).read().decode('utf-8')