3.3: Request.method argument is added to the Request class.
3.4: Default Request.method may be indicated at the class level.
3.6: Do not raise an error if the Content-Length has not been provided and data is neither None nor a bytes object. Fall back to use chunked transfer encoding instead.
>>> import urllib.request
>>> req = urllib.request.Request(url='https://localhost/cgi-bin/test.cgi',
... data=b'This data is passed to stdin of the CGI')
>>> with urllib.request.urlopen(req)as f:
... print(f.read().decode('utf-8'))
...
Got Data: "This data is passed to stdin of the CGI"