Je travaille sur un code python existant qui utilise la fonction demande pour effectuer un get/post vers un site web.
Le code python permet également l'utilisation de proxies lorsqu'un proxy est passé au script sinon aucun proxie n'est utilisé.
Mon problème concerne l'utilisation de proxies qui nécessite authentification .
proxy = user:password@ip:port
self.s = requests.Session()
if proxy != "":
self.proxies = {
"http": "http://" + proxy,
"https": "https://" + proxy
}
self.s.proxies.update(proxies)
self.s.get('http://checkip.dyndns.org')
Dans le code ci-dessus, si le proxy est configuré chaque obtenir est refusé car aucune authentification n'est fournie.
J'ai trouvé une solution qui implique l'utilisation de HTTPProxyAuth.
Voici la solution que j'ai trouvée :
import requests
s = requests.Session()
proxies = {
"http": "http://ip:port",
"https": "https://ip:port"
}
auth = HTTPProxyAuth("user", "pwd")
ext_ip = s.get('http://checkip.dyndns.org', proxies=proxies, auth=auth)
print ext_ip.text
Ma question est la suivante : est-il possible de définir l'autorisation du proxy de manière globale au lieu de la modifier à chaque fois ? s.get dans le code ? Parce que parfois le script pourrait être utilisé sans proxy et parfois avec proxy.
Merci d'avance !
Meilleures salutations, Federico