50 votes

Comment récupérer une url non-ascii avec urlopen?

J’ai besoin de récupérer des données à partir d’une URL avec des caractères non-ascii mais urllib2.urlopen refuse d’ouvrir la ressource et déclenche :

Je sais que l’URL n’est pas conforme aux normes, mais je n’ai aucune chance de la modifier.

Quel est le moyen d’accéder à une ressource pointée par une URL contenant des caractères non-ascii en utilisant Python ?

éditer: En d’autres termes, peut / comment urlopen ouvrir une URL comme:

40voto

Perry Points 1409

En python3, utilisez la `` fonction sur la chaîne non-ascii :

23voto

darkfeline Points 458

Python 3 dispose de bibliothèques pour gérer cette situation. Utiliser pour diviser l’URL en ses composants, et pour citer/échapper correctement les caractères unicode et `` de le réunir à nouveau.

4voto

Encodez le `` en UTF-8, puis URL-encode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X