Tools, FAQ, Tutorials:
Using urllib.parse.urlencode()
How to use urllib.parse.urlencode() function to encode HTTP POST data? My form data has special characters.
✍: FYIcenter.com
If your form data has spaces, equal signs, and other special characters, you need to call urllib.parse.urlencode() to encode it before passing it to the urlopen() function.
The urlencode() function takes a list name-value pairs in a JSON format, and returns a urlencoded string of name=value&.... You have to use bytes() function to convert urlencoded string to a binary before calling urlopen() function.
data = urllib.request.urlopen({'name':'value',...}) data = bytes(data,'utf8')
Here is a Python example on how to send a POST request with body data that has special characters:
>>> import urllib >>> url = 'http://httpbin.org/post' >>> form = {'user':'fyicenter', 'msg':'hello world!'} >>> data = urllib.parse.urlencode(form) >>> data = bytes(data,'utf8') >>> r = urllib.request.urlopen(url,data) >>> b = r.read() >>> print(b) b'{\n "args": {}, \n "data": "", \n "files": {}, \n "form": {\n "msg": "hello world!", \n "user": "fyicenter"\n }, \n "headers": {\n "Accept-Encoding": "identity", ...}, \n "json": null, \n "url": "http://httpbin.org/post"\n}\n'
⇒ Using urllib.request.Request Object
⇐ HTTP POST with urllib.request
2018-09-13, 5904🔥, 0💬
Popular Posts:
What Is HTML? HTML (HyperText Markup Language) is the standard markup language for creating Web page...
How To Change Text Fonts for Some Parts of a Paragraph? If you want to change text fonts or colors f...
What is Azure API Management Gateway? Azure API Management Gateway is the Azure Web server that serv...
What Happens If One Row Has Missing Columns? What happens if one row has missing columns? Most brows...
Where can I download the EPUB 2.0 sample book "The Metamorphosis" by Franz Kafka? You can following ...