Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с urlopen 
:(
    Опции темы
vvovka
Дата 12.5.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Господа помогите,
перехожу на python, любые запросы вида:

import urllib2
response = urllib2.urlopen('http://python.org/')
html = response.read()

выдают ошибку: socket error 10051 Network is unreachable

хотя на BASIC Все замечательно проходит (например):
URL = "http://blabla.com/"
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
xmlhttp.Open "GET", URL, False
xmlhttp.SetRequestHeader "Pragma", "no-cache"
xmlhttp.Send (Null)

Может дело в прокси ? (пробововал proxies = { 'http' : '10.170.0.152;10.170.0.153' } )
Как его пройти/пройти ?

PM MAIL   Вверх
Ferroman
Дата 12.5.2008, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 25.4.2008

Репутация: нет
Всего: нет



Была такая проблема.
Пример с прокси и авторизацией.
Код

import urllib2

class DumbProxyPasswordMgr:
    def __init__(self):
        self.user = self.passwd = None
    def add_password(self, realm, uri, user, passwd):
        self.user = user
        self.passwd = passwd
    def find_user_password(self, realm, authuri):
        return self.user, self.passwd

proxy= urllib2.ProxyHandler({"http" : "http://192.168.16.1:3128"})
proxy_auth_handler = urllib2.ProxyBasicAuthHandler(DumbProxyPasswordMgr ())
proxy_auth_handler.add_password(None, None, 'user', 'password')
opener = urllib2.build_opener(proxy,proxy_auth_handler)
urllib2.install_opener(opener)

# without proxy    src = urllib2.urlopen(url) 
# with proxy         src = opener.open(url)

starturl = "путь урла " # start url
src = urllib2.urlopen(starturl) 


PM MAIL   Вверх
vvovka
Дата 13.5.2008, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Респект Ferroman'у
PM MAIL   Вверх
vvovka
Дата 13.5.2008, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Вопрос все равно остается открытым. 
Дело было естественно в прокси (без авторизации). Адрес прокси берется из PAC файла сценария автоматической настройки (LAN подключение).

Вот так все работает:

import httplib
httplib.HTTPConnection.debuglevel = 1
import urllib2
 
def get(url, proxies=None):
    request = urllib2.Request(url)
    request.add_header('User-Agent', "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6")
    handlers = None
    if proxies:
        handlers = urllib2.ProxyHandler(proxies)
        opener = urllib2.build_opener(handlers)
        return opener.open(request).read()
    else:
        return urllib2.urlopen(request)
 
rv = get("http://rusbonds.ru/", proxies={"http":"http://proxy.xxx.ru:8080"}) #proxies есс-но указано для примера
fout = open("answer.html", "w")
fout.write(rv)
fout.close()

А вот как дело дошло до HTTPS (а по нему и предполагается основная часть) так все и встало.
Была хорошая мысль сделать на Python приложение, которое будет крутиться на FreeBSD, а отладить его в Windows.

Подскажите куда двигаться господа хорошие ?

PM MAIL   Вверх
_Viper_
Дата 13.5.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 8.11.2006

Репутация: 10
Всего: 11



попробуй это.
PM MAIL   Вверх
vvovka
Дата 14.5.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 8.2.2008

Репутация: нет
Всего: нет



Нет не проходит, лезут ошибки. Но нормальные герои всегда идут в обход !
Какие еще могут быть решения ?
Это должно быть приложение на каком-нибудь скриптовом языке (2 таймера, GET и POST запросы https, файловые рперации), которое должно работать на FreeBSD (Unix), но отладка будет в Windows (на Basic c Microsoft.XMLHttp все работает нормально).
C Питоном все как-то напряжно и не получается (https и proxy).
Perl, Ruby, PHP, Tcl ????   
  
PM MAIL   Вверх
dvska
  Дата 22.5.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 30.1.2006

Репутация: 6
Всего: 9



vvovka, добивай Python, лучше ничего imho нет
--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1225 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.