urllib2.urlopen() で URL "http://www.besondere-raumdüfte.de" をリクエストできません。
urllib.urlencode を utf-8、idna、ascii で使用して文字列をエンコードしようとしましたが、まだ機能しません。
上げURLError: <urlopen error unknown url type
ます。
2133 次
2 に答える
2
必要なのはu"http://www.besondere-raumdüfte.de/".encode('idna')
. u
ソース文字列が Unicode 定数 (プレフィックス)であることに注意してください。
結果は、 で使用できる URLurlopen()
です。
非 ASCII 文字を含むドメイン名があり、URL の残りの部分に非 ASCII 文字が含まれている場合は.encode('idna')
、ドメイン部分とiri2uri()
残りの部分が必要です。
于 2012-03-27T12:15:50.520 に答える
0
uriではなくiriを使用しています。正しく変換する必要があります。以下は、その方法の例です。
from httplib2 import iri2uri
def iri_to_uri(iri):
"""Transform a unicode iri into a ascii uri."""
if not isinstance(iri, unicode):
raise TypeError('iri %r should be unicode.' % iri)
return bytes(iri2uri(iri))
URI を取得したら、urllib2 を使用できるようになります。
于 2012-03-27T10:00:28.790 に答える