Maison  >  Article  >  développement back-end  >  Explication détaillée des méthodes d'encodage Python urlencode et d'épissage d'URL

Explication détaillée des méthodes d'encodage Python urlencode et d'épissage d'URL

高洛峰
高洛峰original
2017-03-17 16:28:315903parcourir

Méthode d'appel d'urlencode

Le paramètre d'urlencode doit être Dictionary

name2=bbs.pythontab.com&name1=www.pythontab.com

équivaut à l'épissage de deux paramètres d'url. similaire à http_build_query() en PHP, voici comment l'utiliser dans la plupart des PHP. Si vous êtes intéressé, vérifiez-le vous-même.

encodage urlencode

Fonction urlencode ne changera pas l'encodage d'origine des paramètres entrants, ce qui signifie que l'encodage des paramètres de publication ou d'obtention doit être ajusté avant d'appeler .

Problème : simulez maintenant les requêtes vers Google et Baidu. Étant donné que Baidu utilise le codage gb2312 et que Google utilise le codage utf8, les valeurs urlencode des paramètres chinois soumis à l'URL par les deux sites sont différentes. " Site Web chinois PythonTab " à titre d'exemple :

# coding: UTF-8
str = u'PythonTab中文网'
str = str.encode('gb2312')
d = {'name':str}
q = urllib.urlencode(d)
print q

Résultat :

name=PythonTab%D6%D0%CE%C4%CD%F8

Remarque : Le paramètre de l'urlencode doit être Dictionnaire

Autres usages

L'urlencode dans django est similaire, la méthode est la suivante :

from django.utils.http import urlquote
a = urlquote('PythonTab中文网')
print a

Obtenir l'encodage GBK des caractères chinois

urllib convertitstring

En fait, vous pouvez utiliser la fonction de citation d'urllib pour convertir le chinois dans l'URL et convertir le chinois en codage GBK. L'encodage résultant est une URL conforme à la norme URI.

>>> import urllib
>>> a = "PythonTab中文网"
>>> a
'PythonTab\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91'
>>> urllib.quote(a)
'PythonTab%E4%B8%AD%E6%96%87%E7%BD%91'
>>>


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