【发布时间】:2015-06-01 12:08:38
【问题描述】:
如何将 unicode 字符串传递给 urllib2.urlopen(url) 函数?
我想访问一个带有 utf-8 编码 URL 的 pdf 文件:
<a href="investments-%C2%A7-73g-legal.html">Link to pdf</a>
%C2%A7 代表截面符号:§
如果我将此 unicode url 字符串传递给 urlopen 方法,它会引发异常:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa7' in position 105: ordinal not in range(128)
如果我忽略编码错误:url.encode("ascii",errors='ignore') 链接地址不再有效。
谁能告诉我如何解决这个问题?
非常感谢
【问题讨论】:
-
你到底传递了什么给
urlopen()?请给我们print(repr(url_you_used))的输出好吗? -
u'177.23.125.41/2013-12-20-investments-\xa7-7g-legal-zwe.pdf'
标签: python unicode encoding urllib2