![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что я делаю не так (Indy и IDHTTP)? [D7, Win2k]
Drema © (2005-07-21 10:44:00)
procedure TForm1.Button1Click(Sender: TObject);
var
url, proxy_serv, proxy_port, webdata, host: string;
port: integer;
begin
url:= edit1.Text;
proxy_serv:=edit2.Text;
proxy_port:=edit3.Text;
port:=StrToInt(proxy_port);
host:=edit4.text;
// ---- установим прокси -----
if proxy_serv<>'' then
begin
IdHTTP1.ProxyParams.Create;
IdHTTP1.ProxyParams.ProxyPort:=port;
IdHTTP1.ProxyParams.ProxyServer:=proxy_serv;
IdHTTP1.host:=proxy_serv;
IdHTTP1.port:=port;
//form1.IdHTTP1.ProxyParams.SetHeaders(); <- надо ли это ?
end
else
begin
IdHTTP1.ProxyParams.ProxyPort:=0;
IdHTTP1.ProxyParams.ProxyServer:='';
end;
// ------ и полезем в инет ------
try
form1.IdHTTP1.Host:=host;
if Not(IdHTTP1.Connected) then
IdHTTP1.Connect;
try
webdata:=form1.idHTTP1.Get(url);
finally
IdHTTP1.Disconnect;
end;
except
MessageDlg('Socket:Ошибка!', mtInformation, [mbOk], 0);
IdHTTP1.Disconnect;
end;
IdHTTP1.Disconnect;
// ----- выведем результат -----
memo1.Text:=webdata;
end;
Проблема в том, что без прокси все работает.
С указанием прокси - нет. В чем же ошибка? как правильно указывать прокси?
Может для сокетов нужен SOCKS прокси? Но у провайдера есть HTTP и причем без прокси работать нельзя.
Чапаев (2005-07-22 09:39:00) [1]> TTP1.ProxyParams.Create;
Бред.
> form1.IdHTTP1.Host:=host;
А чуть выше в случае, если прокси есть, ты уже назначил host. Причём вверху назначил правильно, а тута -- нет.
> if Not(IdHTTP1.Connected) then
> IdHTTP1.Connect;
> try
> webdata:=form1.idHTTP1.Get(url);
> finally
> IdHTTP1.Disconnect;
> end;
Не знаю, не знаю... Делаю просто IdHttp.Get(...) -- и всё работает.
Slym (2005-07-22 08:31:00) [2]try
webdata:=idHTTP1.Get(edit1.Text);
except
on E:Exception do
MessageDlg('Ошибка!'#13#10+E.Message,mtInformation, [mbOk], 0);
end;
Slym (2005-07-22 08:29:00) [3]procedure TForm1.Button1Click(Sender: TObject);
var webdata: string;
begin
// ---- установим прокси -----
if Length(edit2.Text)>0 then
begin
IdHTTP1.ProxyParams.ProxyServer:=edit2.Text;
IdHTTP1.ProxyParams.ProxyPort:=StrToInt(edit3.Text);
end else
begin
IdHTTP1.ProxyParams.ProxyPort:=0;
IdHTTP1.ProxyParams.ProxyServer:='';
end;
// ------ и полезем в инет ------
try
webdata:=idHTTP1.Get(edit1.Text);
except
MessageDlg('Socket:Ошибка!', mtInformation, [mbOk], 0);
end;
memo1.Text:=webdata;
end;
Digitman (2005-07-21 13:32:00) [4]
> Может для сокетов нужен SOCKS прокси? Но у провайдера есть
> HTTP и причем без прокси работать нельзя
солянка сборная из обрывочных сведений о том, что есть какие-то там SOCKS, прокси, HTTP и иже с ними и что вся эта байда в TIdHTTP каким-то невероятно волшебным образом сама по себе должна неважно как сочетаться и работать
> Reindeer Moss Eater © (21.07.05 12:45) [1]
дело Штирлица живет и процветает)
Reindeer Moss Eater (2005-07-21 12:45:00) [5]except
MessageDlg('Socket:Ошибка!', mtInformation, [mbOk], 0);
IdHTTP1.Disconnect;
end;
Ну и какой смысл в таком обработчике исключения?
Что бы никто и никогода не смог узнать причину его возникновения?