2017-02-28 1 views
-3

J'utilise urllib3 sur Python 2.7. Je dois envoyer une demande à un site Web qui donne la réponse désirée seulement quand les espaces sont séparés par '+' et pas par '% 2b'.Comment encoder les espaces en '+' dans l'url en utilisant urllib3?

http = urllib3.PoolManager() 
var = 'foo bar' 
url = 'https://foo.com/release?q=' + var 
webdata = http.request('GET', url) 

Comment puis-je faire cela dans urllib3?

+0

Utiliser 'urlencode' pour ce but http://stackoverflow.com/questions/2506379/add- params-to-given-url-in-python – Dmitry

Répondre

0
import urllib 
print(urllib.quote_plus('Hello world')) 

Bonjour + monde

+0

J'espérais le faire dans urllib3 seul, qui semble l'encoder seulement ' % 20 'chemin. Mais cela fonctionne aussi, merci! – hitro

+0

Vous ne pouvez pas, sauf si vous remplacez les espaces dans votre chaîne avec des signes plus. Je vous recommande plutôt d'utiliser des requêtes à la place de n'importe quel paquet urllib pour un ensemble de fonctions plus simple et beaucoup plus complet. – Zroq