(Python 3.4.2) I\'ve got a weird error when I run \'urllib.request.urlopen(url)\' inside of a script. If I run it directly in the Python interpreter, it works fine, but not
people who encountered the error
ValueError: unknown url type: 'http
or
ValueError: unknown url type: b'http
while opening some url like below with urllib.request.Request
'http://localhost/simple_form/insert.php'
just change localhost to 127.0.0.1
looks like Request method is looking for a domain.something in url
I figured it out. My url had a : in it, and urllib cannot use that character. I replaced it with %3A and now it's working. Web browsers usually convert : to %3A automatically, but urllib requires it to be converted first.
You should use urllib.parse.urlencode(), urllib.parse.urljoin(), etc functions to construct urls instead of manually joining the strings. It would take care of : -> %3A conversion e.g.:
>>> import urllib.parse
>>> urllib.parse.quote(':')
'%3A'
may due to openssl-devel if you do not install it.
yum list installed|grep openssl
install it and try again after make.
sudo yum install openssl-devel
./configure
make