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, ∼7134🔥, 0💬
Popular Posts:
Where to find tutorials on PHP language? I want to know how to learn PHP. Here is a large collection...
How To Loop through an Array without Using "foreach" in PHP? PHP offers the following functions to a...
How to use the built-in "context" object in Policy expressions? The built-in "context" object can be...
How To Read Data from Keyboard (Standard Input) in PHP? If you want to read data from the standard i...
How to create a new API on the Publisher Dashboard of an Azure API Management Service? If you are ne...