Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 13, 2010 21:32:23

jokz
От:
Зарегистрирован: 2010-09-13
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нестандартный вопрос по Urllib

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

Сам вопрос:

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

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

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

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

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

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

Заранее спасибо!



Офлайн

#2 Сен. 13, 2010 22:35:42

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Нестандартный вопрос по Urllib

Покажите ваш код

Офлайн

#3 Сен. 14, 2010 14:07:11

jokz
От:
Зарегистрирован: 2010-09-13
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нестандартный вопрос по Urllib

Тут не в коде дело.

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 нормально открывают внешние сайты, но с доступом к локальному серверу вот такая проблема.



Офлайн

#4 Сен. 14, 2010 14:29:51

jokz
От:
Зарегистрирован: 2010-09-13
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нестандартный вопрос по Urllib

Спасибо, за вашу помощь, но уже сам разобрался.

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

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

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

Эх, язык от бога, что тут сказать:)



Офлайн

#5 Сен. 14, 2010 15:06:16

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Нестандартный вопрос по Urllib

jokz
Эх, язык от бога, что тут сказать:)
В системе от дьявола :)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#6 Сен. 14, 2010 15:17:18

boris_blade
От:
Зарегистрирован: 2009-09-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Нестандартный вопрос по Urllib

jokz
Люди на линуксе сидят тут в основном.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version