Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:

Error. Page cannot be displayed. Please contact your service provider for more details. (12)


Узнать информацию о прокси сервере

Поиск:
Код
uses
 WinInet;

function GetProxyInformation: string;
var
 ProxyInfo: PInternetProxyInfo;
 Len: LongWord;
begin
 Result := '';
 Len := 4096;
 GetMem(ProxyInfo, Len);
 try
   if InternetQueryOption(nil, INTERNET_OPTION_PROXY, ProxyInfo, Len) then
     if ProxyInfo^.dwAccessType = INTERNET_OPEN_TYPE_PROXY then
     begin
       Result := ProxyInfo^.lpszProxy
     end;
 finally
   FreeMem(ProxyInfo);
 end;
end;

{**************************************************************************
* NAME:    GetProxyServer
* DESC:    Proxy-Server Einstellungen abfragen
* PARAMS:  protocol => z.B. 'http' oder 'ftp'
* RESULT:  [-]
* CREATED: 08-04-2004/shmia
*************************************************************************}
procedure GetProxyServer(protocol: string; var ProxyServer: string;
 var ProxyPort: Integer);
var
 i: Integer;
 proxyinfo, ps: string;
begin
 ProxyServer := '';
 ProxyPort := 0;

 proxyinfo := GetProxyInformation;
 if proxyinfo = '' then
   Exit;

 protocol := protocol + '=';

 i := Pos(protocol, proxyinfo);
 if i > 0 then
 begin
   Delete(proxyinfo, 1, i + Length(protocol));
   i := Pos(';', ProxyServer);
   if i > 0 then
     proxyinfo := Copy(proxyinfo, 1, i - 1);
 end;

 i := Pos(':', proxyinfo);
 if i > 0 then
 begin
   ProxyPort := StrToIntDef(Copy(proxyinfo, i + 1, Length(proxyinfo) - i), 0);
   ProxyServer := Copy(proxyinfo, 1, i - 1)
 end
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 ProxyServer: string;
 ProxyPort: Integer;
begin
 GetProxyServer('http', ProxyServer, ProxyPort);
 Label1.Caption := ProxyServer;
 label2.Caption := IntToStr(ProxyPort);
end;






Просмотров: 1837

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную