В настоящее время я прохожу отличный Python Challenge (http://www.pythonchallenge.com/). . Текущая проблема, которую я решаю, связана с использованием библиотеки urllib, но у меня возникли проблемы. Я пытаюсь использовать эту библиотеку для подключения к сайту через брандмауэр моей компании. Начнем с кода:
proxy = {'http':'http://my.companys.proxy/proxy.pac'}
urllib.urlopen('http://www.pythonchallenge.com', proxies=proxy).read()
Это дает ответ http, но, как ни странно, это тестовая страница HTTP-сервера Apache:
...Red Hat Enterprise Linux Тестовая страница... Эта страница используется для проверки правильной работы HTTP-сервера Apache после его установки и т. д....
Итак, я, похоже, успешно установил http-соединение за пределами нашего брандмауэра, но получаю другой HTTP-ответ, чем мой браузер. Еще одна подсказка (или нет), когда я пытаюсь подключиться к странице about.php:
urllib.urlopen('http://www.pythonchallenge.com/about.php', proxies=proxy).read()
Это, однако, дает:
404 Не найдено... Apache 2.2.3 Red Hat Server на www.pythonchallenge.com Порт 80
Оба приведенных выше адреса прекрасно работают в моем браузере (используя один и тот же прокси). Есть идеи, где я ошибаюсь?