![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка #10061 у IdHTTP1. Как исправить? [D7, WinXP]
DrAndrew © (2007-06-19 13:01:00)Доброго дня, Мастера!
У меня есть процедура со следующим кодом:
Stream := TMemoryStream.Create;
try
IdHTTP1.Connect();
IdHTTP1.Get(' http://www.kharkov.net/archive/update.txt', Stream);
if Stream = nil then Exit;
Stream.Position := 0;
некоторый код выполения......................................
IdHTTP1.Disconnect;
finally
Stream.Free;
end;
Во время проверки на обновление эта процедура должна связывается с моим сервером и загружает информационный файл об обновлении (есть или нет). Но, возникла проблема. Когда эта процедура включается дома у меня все отлично, а в медуниверситете выскакивает вот такая ошибка:"Socket Error # 10061 Connection refused!". Я предполагаю, что наверное разные на моем и в институте схемы подключения к интернету. Как можно прописать компонент IdHTTP1 чтобы его подключение было универсальным (с прокси, без прокси или еще как)?
G_M_S (2007-06-19 13:27:00) [1]
> А как можно прописать свойства компонента IdHTTP, чтобы
> он брал настройки активного броузера Интернет?
Не извращайся - введи маленькую формочку с настройками прокси: любая уважающая себя программа, работающая с HTTP, имеет такую формочку.
ЗЫ: у меня активный бравзер - ИЕ, у него прописан левый (не существующий прокси), да еще и сам он файерволом порубан. Как думаешь - выгодно из него настройки брать?
G_M_S (2007-06-19 13:24:00) [2]
> IdHTTP1.Get(' http://www.kharkov.net/archive/update.
> txt', Stream);
Превед, Харьков! ;)))
Во-первых - зачем "IdHTTP1.Connect();", если ты юзаешь IdHTTP1.Get? ИМХО он тут в принципе ни к чему. update.txt - текстовый файл? Если да - не мучайся и напиши просто:
s := IdHTTP1.Get(' http://www.kharkov.net/archive/update.txt');
Это проще и гарантировано работает.
По поводу ошибки - это ошибка соединения. Если возникает - значит, ты висишь через прокси. Для установки параметров прокси в TidHTTP есть ProxyParams.
Пишешь:
with idHTTP1.ProxyParams do
begin
Proxyport := 3128; //ПОРТ - СВОЙ!!!
ProxyServer := '10.0.0.1';//Прокси - тоже свой
end;
Если прокси с авторизацией - добавь еще:
BasicAuthentication := true;
ProxyPassword := '...';
ProxyUserName := '...';
DrAndrew (2007-06-19 13:22:00) [3]нет мне необходимо обработать именно эту процедуру в программе а не в броузере.
Плохиш (2007-06-19 13:21:00) [4]
> DrAndrew (19.06.07 13:15) [5]
> это не из браузера, а из программы - меню поиск обновления
Так попробуй из браузера, а то так и будешь искать не там где потерял, а там где светлее...
DrAndrew (2007-06-19 13:18:00) [5]А как можно прописать свойства компонента IdHTTP, чтобы он брал настройки активного броузера Интернет?
DrAndrew (2007-06-19 13:15:00) [6]это не из браузера, а из программы - меню поиск обновления
Сергей М. (2007-06-19 13:11:00) [7]"Универсальность" вряд ли возможна, если не сказать что невозможна.
> выскакивает вот такая ошибка:"Socket Error # 10061
А что говорит браузер при попытке обратиться по тому же URL ?
DrAndrew (2007-06-19 13:10:00) [8]Что совсем никак? Может прописать какую-то процедурку типа логики если нет, то, а если так то иначе........
DrAndrew (2007-06-19 13:08:00) [9]Небольшое добавление:
в свойствах компонента IdHTTP1 установлены - Port=80; ProtocolVersion=pv_1.1 и BoundPort=0. Вопрос прежний как сделать подключение универсальным?
KSergey (2007-06-19 13:07:00) [10]Универсально - никак.
С настраиваемым прокси - можно (вроде есть тама такая настройка в IdHTTP? Или ошибаюсь?
Елси есть - вынести ее в пользовательский интерфейс.