Heim >Backend-Entwicklung >Python-Tutorial >Python-URL-Kodierung und URL-Spleißen
urlencode Der Parameter der aufrufenden Methode
urlencode muss Dictionary sein
import urllib d = {'name1':'www.pythontab.com','name2':'bbs.pythontab.com'} print urllib.urlencode(d)
Ausgabe:
name2=bbs.pythontab.com&name1=www.pythontab.com
entspricht dem Zusammenfügen von zwei URL-Parametern. Diese Verwendung ähnelt http_build_query() in PHP. Wenn Sie interessiert sind, sehen Sie sich die Verwendung an dich selbst raus.
urlencode-Kodierung
Die Funktion urlencode ändert nicht die ursprüngliche Kodierung der eingehenden Parameter, was bedeutet, dass die Kodierung der Post- oder Get-Parameter vor dem Aufruf angepasst werden muss.
Problem: Simulieren Sie nun Anfragen an Google und Baidu. Da Baidu die gb2312-Codierung verwendet und Google die utf8-Codierung verwendet, sind die URL-Codewerte der von den beiden Websites an die URL übermittelten Parameter wie folgt „Chinesische PythonTab-Website“ zum Beispiel:
# coding: UTF-8 str = u'PythonTab中文网' str = str.encode('gb2312') d = {'name':str} q = urllib.urlencode(d) print q
Ergebnis:
name=PythonTab%D6%D0%CE%C4%CD%F8
Hinweis: Der Parameter von URL-Code muss Wörterbuch sein
Andere Verwendung
Der URL-Code in Django ist ähnlich, die Methode ist wie folgt:
from django.utils.http import urlquote a = urlquote('PythonTab中文网') print a
Holen Sie sich die GBK-Kodierung chinesischer Zeichen
urllib-Konvertierungszeichenfolge
Tatsächlich können Sie die Anführungszeichenfunktion von urllib verwenden, um das Chinesische in die URL umzuwandeln Konvertieren Sie die chinesische Codierung in die GBK-Codierung. Die resultierende Codierung ist eine URL, die dem URI-Standard entspricht.
>>> 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' >>>