Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python 3.x

Cara menggunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python 3.x

WBOY
WBOYasal
2023-07-31 22:46:562715semak imbas

Gunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python 3.x

Dalam pembangunan aplikasi rangkaian, kami sering menghadapi situasi di mana URL perlu dikodkan Ini disebabkan oleh aksara terhad yang dibenarkan dalam URL, dan The parameter yang perlu kita lalui mungkin mengandungi aksara khas. Modul urllib.parse dalam Python menyediakan fungsi petikan(), yang boleh mengekod aksara haram dalam URL ke dalam rentetan URL yang sah. Artikel ini akan menggunakan contoh kod untuk memperkenalkan cara menggunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python 3.x.

Pertama, kita perlu mengimport modul urllib.parse, menggunakan baris kod berikut:

from urllib.parse import quote

Seterusnya, kita boleh menggunakan fungsi petikan() untuk mengekod rentetan URL. Contoh kod berikut akan mengekod URL yang mengandungi aksara khas dan mencetak hasil yang dikodkan:

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

Jalankan kod di atas dan outputnya adalah seperti berikut:

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

Seperti yang anda lihat, fungsi quote() mengalih keluar aksara haram dalam URL Digantikan dengan rentetan pengekodan yang sepadan. Fungsi

quote() juga boleh menerima parameter selamat pilihan untuk menentukan aksara yang tidak perlu dikodkan. Dalam pengekodan URL, hanya aksara bukan abjad angka dikodkan secara lalai. Jika anda mahu beberapa aksara khas tidak dikodkan, anda boleh menambahkannya pada parameter selamat. Contohnya:

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

Jalankan kod di atas, output adalah seperti berikut:

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

Anda boleh melihat bahawa kerana kami menetapkan aksara '/' dan ':' dalam parameter selamat, aksara ini tidak akan diganti semasa pengekodan.

Selain itu, fungsi petikan() juga menyediakan dua mod pengekodan UTF-8 digunakan secara lalai, dan kaedah pengekodan lain juga boleh ditentukan. Contohnya:

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

Jalankan kod di atas, hasil keluaran adalah seperti berikut:

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

Anda boleh lihat kerana kami menggunakan pengekodan gbk, hasil pengekodan adalah berbeza daripada contoh di atas.

Untuk meringkaskan, fungsi urllib.parse.quote() dalam Python 3.x boleh mengekod URL dengan mudah dan menukar aksara haram kepada rentetan URL yang sah. Melalui pengenalan dan contoh kod artikel ini, saya percaya bahawa pembaca telah menguasai cara menggunakan fungsi ini untuk mengekod URL dalam Python. Dalam pembangunan sebenar, kami boleh mengekod URL secara fleksibel mengikut keperluan untuk memastikan bahawa parameter yang diluluskan tidak akan memusnahkan format dan semantik URL.

Rujukan:

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

Atas ialah kandungan terperinci Cara menggunakan fungsi urllib.parse.quote() untuk mengekod URL dalam Python 3.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn