8 Kasım 2009, Pazar
Yüzde kodlamak için nasıl python ile url parametreleri?
Eğer yaparsam
url = "http://example.com?p=" urllib.quote(query)
- Kodlamak değil """" (sonları OAuth normalleştirme) . / /
- Unicode (bir istisna at) değil
Daha iyi bir kütüphane var mı?
CEVAP
8 Kasım 2009, Pazar
docs:
urllib.quote(string[, safe])
String içerisinde özel karakterler değiştirin %xx kaçış kullanarak. Harfler, rakamlar, ve karakterler '_.-' asla dedi. Varsayılan olarak, bu işlev yol bölümüne alıntı yönelik URL.İsteğe bağlı güvenli parametre ek karakterler belirtir alıntı olmamalıvarsayılan değer '/'
Bu " güvenli için ilk sorununuzu çözecek: . geçen anlamına gelir
>>> urllib.quote('/test')
'/test'
>>> urllib.quote('/test', safe='')
'/test'
İkinci sorun hakkında, bu konuda bir hata raporu here. Görünüşe göre python 3'te tespit edildi. Bu gibi UTF-8 kodlaması ile geçici bir çözüm bulabilirsiniz:
>>> query = urllib.quote(u"Müller".encode('utf8'))
>>> print urllib.unquote(query).decode('utf8')
Müller
Bu arada urlencode bir göz
Bunu Paylaş:
Nasıl Python ile şimdiki zaman almak i...
Nasıl klon ya da Python içinde bir lis...
** (Çift yıldız) ve * (yıldız) Python ...
Nasıl dize Python küçük harfe dönüştür...
Nasıl Python stderr için baskı?...