ホームページ >バックエンド開発 >Python チュートリアル >Python urlencode エンコードと URL スプライシング

Python urlencode エンコードと URL スプライシング

高洛峰
高洛峰オリジナル
2016-10-19 11:17:201753ブラウズ

urlencode 呼び出しメソッド

urlencode パラメーターは Dictionary

import urllib
d = {'name1':'www.pythontab.com','name2':'bbs.pythontab.com'}
print urllib.urlencode(d)

である必要があります。出力:

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

この使用法は、言及されていない PHP の http_build_query() に似ています。ほとんどの PHP での使用方法はこちらです。興味があれば、ご自身で調べてください。

urlencode エンコーディング

関数 urlencode は、受信パラメータの元のエンコーディングを変更しません。つまり、呼び出し前に post または get パラメータのエンコーディングを調整する必要があります。

質問: ここで Google と baidu へのリクエストをシミュレートします。baidu は gb2312 エンコーディングを使用し、google は utf8 エンコーディングを使用するため、2 つのサイトによって URL に送信される中国語パラメータの urlencode 値は異なります。以下は「PythonTab Chinese Network」です。 " 例:

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

結果:

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

注: urlencode のパラメータは Dictionary

である必要がありますその他の使用法

Django urlencode も同様で、メソッドは次のとおりです:

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

中国語の文字 GBK エンコーディングを取得

urllib 変換文字列

実際、urllib の quote 関数を使用して URL 内の中国語を変換し、中国語を GBK エンコーディングに変換することができます。結果のエンコーディングは、 URI標準。

りー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。