Actuellement, j'utilise Python + Mechanize pour récupérer des pages d'un serveur local. Comme vous pouvez le voir, le code utilise "localhost" comme proxy. Le proxy est une instance du proxy de débogage Fiddler2. Cela fonctionne exactement comme prévu. Cela indique que ma machine peut atteindre le test_box.
import time
import mechanize
url = r'http://test_box.test_domain.com:8000/helloWorldTest.html'
browser = mechanize.Browser();
browser.set_proxies({"http": "127.0.0.1:8888"})
browser.add_password(url, "test", "test1234")
start_timer = time.time()
resp = browser.open(url)
resp.read()
latency = time.time() - start_timer
Cependant, lorsque je retire l'instruction browser.set_proxies, cela cesse de fonctionner. J'obtiens une erreur <"urlopen error [Errno 10061] Aucune connexion n'a pu être établie car la machine cible l'a refusée activement">. Le point est que je peux accéder au test_box depuis ma machine avec n'importe quel navigateur. Cela indique également que le test_box est accessible depuis ma machine.
Je soupçonne que cela a quelque chose à voir avec Mechanize qui essaie de deviner les paramètres de proxy appropriés. C'est-à-dire que mes navigateurs sont configurés pour aller à un proxy web pour n'importe quel domaine sauf test_domain.com. Je suppose donc que Mechanize essaie d'utiliser le proxy web alors qu'il ne devrait pas l'utiliser en réalité.
Comment puis-je dire à Mechanize de NE PAS deviner les paramètres de proxy et plutôt le forcer à essayer de se connecter directement au test_box?