Як використовуючи WinInet пройти через проксі сервер.
Курсор на uses WinInet;
CTRL + ENTER
CTRL + F + "Proxy" + F3
не є оригінальним і не розумно
мій код працює на Dial-up
і не працює на proxy
чого то я не розумію
тому код прошу
так тобі проксі треба або чо?
Хоч це і не розумно і зовсім не оригінально, але все ж відкрий WinIntet.pas і знайди там
function InternetOpen (lpszAgent: PChar; dwAccessType: DWORD;
lpszProxy, lpszProxyBypass: PChar; dwFlags: DWORD): HINTERNET; stdcall;
тут указвают сам проксі сервер (його IP зокрема)
це параметр lpszProxy, але де визначається порт, пароль та ім'я користувача для lpszProxy?
Піднімись на 7 (сім) рядків вище в файлі WinIntet.pas
Гаразд тоді номер рядка скажи чи
Порт пишеться в lpszProxyBypass.
А можна і нічого не вказувати. Всі параметри візьмуться з налаштувань IE
А як пройти через проксі використовуючи IdHTTP?
ConnectionSettings - моя структура зберігає параметри підключення
if ConnectionSettings.UseProxy then
begin
ProxyParams.ProxyServer: = ConnectionSettings.ProxyServer;
ProxyParams.ProxyPort: = ConnectionSettings.ProxyPort;
if ConnectionSettings.UseProxyLogin then
begin
ProxyParams.BasicAuthentication: = True;
ProxyParams.ProxyUsername: = ConnectionSettings.ProxyUserName;
ProxyParams.ProxyPassword: = ConnectionSettings.ProxyPassword;
end;
end;
У всякому разі першим параметром можна змусити брати все настройки з IE
ну не проходить це! млинець
hSession: = InternetOpen (PChar (sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
hURL: = InternetOpenURL (hSession, PChar (fileURL), nil, 0,0,0);
а потім в циклі
InternetReadFile (hURL, @Buffer, SizeOf (Buffer), BufferLen);
BlockWrite (будь-який відкритий файл, Buffer, BufferLen);
(Скопійовано вірно) WinInet.
Пам'ять: 0.75 MB
Час: 0.037 c