Maison  >  Article  >  développement back-end  >  Comment utiliser la fonction urllib.parse.quote() pour encoder des URL en Python 3.x

Comment utiliser la fonction urllib.parse.quote() pour encoder des URL en Python 3.x

WBOY
WBOYoriginal
2023-07-31 22:46:562782parcourir

Utilisez la fonction urllib.parse.quote() pour encoder des URL dans Python 3.x

Dans le développement d'applications réseau, nous rencontrons souvent des situations où les URL doivent être encodées. Cela est dû aux caractères limités autorisés dans les URL, et au nombre limité de caractères autorisés dans les URL. les paramètres que nous devons transmettre peuvent contenir des caractères spéciaux. Le module urllib.parse en Python fournit la fonction quote(), qui peut coder les caractères illégaux des URL en chaînes d'URL légales. Cet article utilisera des exemples de code pour présenter comment utiliser la fonction urllib.parse.quote() pour encoder des URL dans Python 3.x.

Tout d'abord, nous devons importer le module urllib.parse, en utilisant la ligne de code suivante :

from urllib.parse import quote

Ensuite, nous pouvons utiliser la fonction quote() pour encoder la chaîne de l'URL. L'exemple de code suivant encodera une URL contenant des caractères spéciaux et imprimera le résultat codé :

url = 'http://www.example.com/?keyword=hello world'
encoded_url = quote(url)
print(encoded_url)

Exécutez le code ci-dessus et le résultat sera le suivant :

http%3A//www.example.com/%3Fkeyword%3Dhello%20world

Comme vous pouvez le voir, la fonction quote() supprime les caractères illégaux dans le URL Remplacée par la chaîne de codage correspondante. La fonction

quote() peut également recevoir un paramètre safe facultatif pour spécifier des caractères qui n'ont pas besoin d'être codés. Dans le codage URL, seuls les caractères non alphanumériques sont codés par défaut. Si vous souhaitez que certains caractères spéciaux ne soient pas codés, vous pouvez les ajouter au paramètre safe. Par exemple :

url = 'http://www.example.com/?query=python 3.x'
encoded_url = quote(url, safe='/:')
print(encoded_url)

Exécutez le code ci-dessus, le résultat est le suivant :

http://www.example.com/?query=python%203.x

Vous pouvez voir que parce que nous avons spécifié les caractères '/' et ':' dans le paramètre safe, ces caractères ne seront pas remplacés lors de l'encodage.

De plus, la fonction quote() fournit également deux modes d'encodage. L'encodage UTF-8 est utilisé par défaut, et d'autres méthodes d'encodage peuvent également être spécifiées. Par exemple :

url = 'http://www.example.com/?query=你好'
encoded_url = quote(url, encoding='gbk')
print(encoded_url)

Exécutez le code ci-dessus, le résultat de sortie est le suivant :

http%3A%2F%2Fwww.example.com%2F%3Fquery%3D%B2%E2%CA%D4

Vous pouvez voir que parce que nous utilisons l'encodage gbk, le résultat de l'encodage est différent de l'exemple ci-dessus.

Pour résumer, la fonction urllib.parse.quote() de Python 3.x peut facilement encoder des URL et convertir des caractères illégaux en chaînes d'URL légales. Grâce à l'introduction et aux exemples de code de cet article, je pense que les lecteurs maîtrisent comment utiliser cette fonction pour encoder des URL en Python. Dans le développement réel, nous pouvons encoder l'URL de manière flexible selon les besoins pour garantir que les paramètres transmis ne détruiront pas le format et la sémantique de l'URL.

Référence :

  • [Documentation officielle Python - urllib.parse](https://docs.python.org/3/library/urllib.parse.html)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Articles Liés

Voir plus