Найти - Пользователи
Полная версия: Нестандартный вопрос по Urllib
Начало » Python для новичков » Нестандартный вопрос по Urllib
1
jokz
День добрый. Сам я проф. PHP программист с 3х летнем стажем, в python влюбился, еще когда читал описание синтаксиса. Сейчас во всю его пытаюсь использовать, но как при изучении любого языка, для самой простой программы возникают огромные подводные камни:) наверняка вам знакомо. Ну это я немного отошел от темы.

Сам вопрос:

Я пытаюсь открыть через Urllib2 любую страницу на локальном сервере. Пробовал десятки вариаций, выдает 404 Not Found и ошибку HTTPExcept. (в браузере URL открывается отлично)

Ладно, начал пробовать играться с Urllib, перестало вообще что-то загружать. Ну да ладно, не в первой. Полез перехватывать и смотреть пакеты отправляемые. Каково было мое удивление, когда он вместо 127.0.0.1 загружал какойто левый IP адрес. Причем Urllib и Urllib2 пытаются загрузить разные, понятия не имею, откуда взявшиеся, адреса.

Проверил hosts, все шик. Открываю URL в браузерах, все шик.

Кто может подсказать, откуда эти библиотеки могут брать эти адреса???? Я в недоумении..

Может гдето в среде python прописывается какой-либо прокси или что-то в этом роде?

з.ы. вопрос уже не горит, реализовал на PHP за 3 минуты, но оч. интересно узнать на будущее, в чем же все таки проблема.

Заранее спасибо!
lorien
Покажите ваш код
jokz
Тут не в коде дело.

import urllib, string

def go():
ans = urllib.urlopen('http://jokz.ru/update.php?id=jjjj').read()
print(ans)
#print(xor(ans, 1))

def xor(str, byte):
result = ""
for char in str:
result += chr(ord(char) ^ byte)
return result
jokz.ru - alias для 127.0.0.1

я пытался и так
ans = urllib.urlopen('http://127.0.0.1/update.php?id=jjjj').read()
и через Opener, и по многому.

Наконец понял, в чем может быть проблема.
С месяц назад от нечего делать, выключил антивири и скачал блокиратор под контакт*. Прогнал через отладчик его, тот заменял файл хостс и дефолтные прокси конфиги браузеров. Все восстановил за 20 минут, и до сего момента о нем и не вспоминал.

И вот случайно я узнал, что и правда, IP который ставил блокиратор был похож на тот, который python пытается запрашивать.

Так где все таки python** может брать настройки прокси или алиас под 127.0.0.1*** ??? Просто сейчас изучать коды этих библиотек ну совсем не вариант.

*Это у меня такие своеобразные развлечения. Скачивать вирусы, и изучать алгоритмы и восстанавливать после них систему.
**Проблема исключительно с питон. Весь другой софт, включая PHP и десктопные программы отлично работают с сетью и с локальным сервером.
*** как оказалось, urllib и urllib2 нормально открывают внешние сайты, но с доступом к локальному серверу вот такая проблема.
jokz
Спасибо, за вашу помощь, но уже сам разобрался.

Всем прогерам на будущее!

IE -> Свойства обозревателя -> Подключение -> Настройка сети

Если там стоит галочка на "Использовать прокси для локальных подключений", то зачем-то питон берет эту настройку и использует ее для локальных подключений.

Эх, язык от бога, что тут сказать:)
PooH
jokz
Эх, язык от бога, что тут сказать:)
В системе от дьявола :)
boris_blade
jokz
Люди на линуксе сидят тут в основном.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB