В настоящее время я использую Python + Mechanize для получения страниц с локального сервера. Как видите, код использует «localhost» в качестве прокси. Прокси-сервер — это экземпляр прокси-сервера отладки Fiddler2. Это работает именно так, как ожидалось. Это указывает на то, что моя машина может получить доступ к 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
Однако, когда я удаляю инструкцию browser.set_proxyes, она перестает работать. Я получаю сообщение об ошибке ‹"ошибка urlopen [Errno 10061] Не удалось установить соединение, так как целевая машина активно отклоняла его>". Дело в том, что я могу получить доступ к test_box со своей машины с помощью любого браузера. Это также указывает на то, что с моей машины можно получить доступ к test_box.
Я подозреваю, что это как-то связано с тем, что Mechanize пытается угадать правильные настройки прокси. То есть: мои браузеры настроены на переход к веб-прокси для любого домена, кроме test_domain.com. Поэтому я подозреваю, что mechanize пытается использовать веб-прокси, хотя на самом деле он не должен использовать прокси.
Как я могу заставить mechanize НЕ угадывать какие-либо настройки прокси-сервера, а вместо этого заставить его пытаться подключиться напрямую к test_box?