2

urllib2.urlopen() で URL "http://www.besondere-raumdüfte.de" をリクエストできません。
urllib.urlencode を utf-8、idna、ascii で使用して文字列をエンコードしようとしましたが、まだ機能しません。
上げURLError: <urlopen error unknown url typeます。

4

2 に答える 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 に答える