<div>Answer in this topic should help you to solve issue.</div><div><br></div><a href="http://stackoverflow.com/questions/8152161/open-persian-url-domains-with-urllib2?answertab=active#tab-top">http://stackoverflow.com/questions/8152161/open-persian-url-domains-with-urllib2?answertab=active#tab-top</a>š<div>
<br></div><div>Regards.<br><br><div class="gmail_quote">2012/6/13 John Nagle <span dir="ltr"><<a href="mailto:nagle@animats.com" target="_blank">nagle@animats.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm trying to open<br>
<br>
<a href="http://xn--e1afmkfd.xn--80akhbyknj4f" target="_blank">http://ÐÒÉÍÅÒ.ÉÓÐÙÔÁÎÉÅ</a><br>
<br>
with<br>
<br>
urllib2.urlopen(s1)<br>
<br>
in Python 2.7 on Windows 7. This produces a Unicode exception:<br>
<br>
>>> s1<br>
u'http://\u043f\u0440\u0438\<u></u>u043c\u0435\u0440.\u0438\<u></u>u0441\u043f\u044b\u0442\u0430\<u></u>u043d\u0438\u0435'<br>
>>> fd = urllib2.urlopen(s1)<br>
Traceback (most recent call last):<br>
 šFile "<stdin>", line 1, in <module><br>
 šFile "C:\python27\lib\urllib2.py", line 126, in urlopen<br>
 š šreturn _opener.open(url, data, timeout)<br>
 šFile "C:\python27\lib\urllib2.py", line 394, in open<br>
 š šresponse = self._open(req, data)<br>
 šFile "C:\python27\lib\urllib2.py", line 412, in _open<br>
 š š'_open', req)<br>
 šFile "C:\python27\lib\urllib2.py", line 372, in _call_chain<br>
 š šresult = func(*args)<br>
 šFile "C:\python27\lib\urllib2.py", line 1199, in http_open<br>
 š šreturn self.do_open(httplib.<u></u>HTTPConnection, req)<br>
 šFile "C:\python27\lib\urllib2.py", line 1168, in do_open<br>
 š šh.request(req.get_method(), req.get_selector(), req.data, headers)<br>
 šFile "C:\python27\lib\httplib.py", line 955, in request<br>
 š šself._send_request(method, url, body, headers)<br>
 šFile "C:\python27\lib\httplib.py", line 988, in _send_request<br>
 š šself.putheader(hdr, value)<br>
 šFile "C:\python27\lib\httplib.py", line 935, in putheader<br>
 š šhdr = '%s: %s' % (header, '\r\n\t'.join([str(v) for v in values]))<br>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)<br>
>>><br>
<br>
The HTTP library is trying to put the URL in the header as ASCII. šWhy isn't "urllib2" handling that?<br>
<br>
What does "urllib2" want? šPercent escapes? šPunycode?<span class="HOEnZb"><font color="#888888"><br>
<br>
 š š š š š š š š š š š š š š š šJohn Nagle<br>
-- <br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/<u></u>mailman/listinfo/python-list</a><br>
</font></span></blockquote></div><br></div>