[python] كيف لفي المئة - ترميز معلمات URL في بايثون؟


Answers

في بايثون 3 ، تم نقل urllib.parse.quote إلى urllib.parse.quote وهو يتعامل مع Unicode افتراضيًا.

>>> from urllib.parse import quote
>>> quote('/test')
'/test'
>>> quote('/test', safe='')
'%2Ftest'
>>> quote('/El Niño/')
'/El%20Ni%C3%B1o/'
Question

إذا فعلت

url = "http://example.com?p=" + urllib.quote(query)
  1. لا يتم تشفير / إلى %2F (يقطع تطبيع OAuth)
  2. لا يتعامل مع Unicode (إنه يلقي استثناء)

هل هناك مكتبة أفضل؟




إذا كنت تستخدم django ، فيمكنك استخدام urlquote:

>>> from django.utils.http import urlquote
>>> urlquote(u"Müller")
u'M%C3%BCller'



Links