Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > настройки прокси из реестра


Автор: eskaflone 6.11.2005, 12:33
1. ключ(и) в котором(ых) лежит адрес или имя браузера запускающегося по умолчанию.
2. настройки прокси для соединения через локальную сеть ,если они есть.

Автор: Snowy 6.11.2005, 22:08
В реестре:

Прокси:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Дефолтный браузер:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\shell\open\command


Из DRKB:
"Узнать информацию о прокси сервере"
Код

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;

Автор: Петрович 7.11.2005, 09:19
Только не ищите там пароль доступа к прокси-серверу. Там его нет.

Автор: Snowy 7.11.2005, 09:35
Цитата
Только не ищите там пароль доступа к прокси-серверу. Там его нет.

smile Это естественно.
Кроме того, это настройки только для Explorer'a
Другие браузеры хранят свои настройки прокси где захотят.

Автор: eskaflone 7.11.2005, 18:33
спасибо

Автор: Poseidon 8.11.2005, 01:45
Цитата
Только не ищите там пароль доступа к прокси-серверу. Там его нет.
А где он? smile (под IE разумеется)

Автор: Петрович 8.11.2005, 08:12
Цитата(Poseidon @ 8.11.2005, 02:45)
А где он?

А может тебе сразу ключи от квартиры где деньги лежат? smile

Автор: Snowy 8.11.2005, 11:06
Цитата(Poseidon @ 8.11.2005, 01:45)
Только не ищите там пароль доступа к прокси-серверу. Там его нет.
А где он?  (под IE разумеется)
В голове у пользователя.
Либо пароль запрашивается интерактивно, либо берется пароль входа в домен.

Автор: Петрович 8.11.2005, 14:19
Цитата(Snowy @ 8.11.2005, 12:06)
Либо пароль запрашивается интерактивно, либо берется пароль входа в домен.

а еще, например, может быть зашит в скрипте настройки.

Автор: Poseidon 8.11.2005, 19:39
Так, ладно, а куда IE сохраняет пароль входа в домен?

PS. Ключи тоже можно smile

Автор: Snowy 8.11.2005, 22:35
Цитата(Poseidon @ 8.11.2005, 19:39)
Так, ладно, а куда IE сохраняет пароль входа в домен?

Никуда. Шифрованный пароль существует в течении всей сессии в памяти.
Прокси кстати тоже получает шифрованный пароль. Точнее шифрованный ключ, восстановить из которого пароль невозможно.
И кроме того это действует только для сетей с контролером домена.
На текущий момент нет способа получить пароль во время работы XP.

Автор: Петрович 9.11.2005, 08:17
Цитата(Snowy @ 8.11.2005, 23:35)
Прокси кстати тоже получает шифрованный пароль. Точнее шифрованный ключ, восстановить из которого пароль невозможно

Существует несколько протоколов авторизации. В некоторых, пароль передается не шифрованным.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)