![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Indy и обработка ошибок при работе с HTTP-прокси [D6, WinXP]
leonidus © (2007-08-24 11:53:00)Использую код:
if CheckBox1.Checked then
begin
IdHTTP1.Request.ProxyServer:=edit2.Text;
IdHTTP1.Request.ProxyPort:=strtoint(edit3.Text);
IdHTTP1.Request.ProxyUsername:=edit4.Text;
IdHTTP1.Request.ProxyPassword:=edit5.Text;
end;
error:=false;
try
str.Text:=IdHTTP1.Get(' http://www.test.ru/');
except
on E: EIdException do
begin
error:=true;
ShowMessage('Communication Exception: ' + E.Message);
IdHTTP1.Disconnect;
end
end;
у меня соединение ADSL, поэтому прокси не используется и галку CheckBox1 я не ставлю. Все работает отлично. Теперь имитируют работу через прокси и ставлю галку. Сразу же ловлю исключительную ситуацию socket Error # 11001, однако если после этого я галочку снимаю, то приложение не возвращается в нормальное состояние, а продолжает выдавать исключительную ситуацию с той же ошибкой. В чем тут дело?
Я понимаю что тема поднималась сто раз, и книжку "Глубины INDY" я читал, но проблема всеравно осталась.
leonidus (2007-08-24 21:51:00) [1]ясно, спасибо
Eraser (2007-08-24 12:44:00) [2]
> leonidus © (24.08.07 11:53)
1. Давать имена объектов вроде CheckBox1 эт не хорошо )
2. Чтобы второй раз, когда галка убрана, соединение шло не чере прокси, нужно очистить настройки прокси у IdHTTP1. Т.е. добавить секцию else в условие, где обнулить свойства.
Точнее сказать не могу, т.к. нет под рукой делфи.