Dal docs:
urllib.quote(string[, safe])
sostituire i caratteri speciali nella stringa utilizzando la fuga% xx. Le lettere, le cifre, e i caratteri "_.-" non sono mai citati. Per impostazione predefinita, questa funzione è destinato ad citando il tratto percorso del URL.The opzionale parametri sicuro specifica caratteri aggiuntivi che non dovrebbe essere citato - suo valore di default è '/'
Quello significa passare '' per la cassaforte risolverà il primo numero:
>>> urllib.quote('/test')
'/test'
>>> urllib.quote('/test', safe='')
'%2Ftest'
circa il secondo problema, c'è un bug report su di esso here. A quanto pare è stato risolto in Python 3. È possibile risolvere facendo codifica utf8 come questo:
>>> query = urllib.quote(u"Müller".encode('utf8'))
>>> print urllib.unquote(query).decode('utf8')
Müller
Tra l'altro uno sguardo al urlencode
Nota che urllib.quote
si trasferisce a urllib.parse.quote
in python3
fonte
2009-11-08 02:52:22
Grazie voi, sia funzionava benissimo. urlencode chiama solo più volte più volte in un ciclo, che non è la normalizzazione corretta per il mio compito (oauth). –
la specifica: [rfc 2396] (https://www.ietf.org/rfc/rfc2396.txt) definisce questi come riservati 'reserved ="; " | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," 'Qual è il contenuto di urllib.quote. –
'urllib.quote' spostato in' urlib.parse.quote', da Python3. – Hibou57