Еще одной важной проблемой при использовании WebBrowser 'а является настройка Proxy. Это и понятно поскольку смена ip необходима в каждом авторегере а иногда и граббере.
В сети информации крайне мало:
1 вариант который есть это вам предложат изменять через реестр настройки IE
2 вариант изменять так же настройки IE но динамически.
Как результат у вас всегда будут сбитыми настройки експлоера (сложно проследить что изменения были обращены)
Я вам предлогаю динамическую настройку прокси в webbrowser без изменения настроек системы как таковых.
uses
...
urlmon, wininet
...
procedure TForm1.Button1Click(Sender: TObject);
var
PIInfo: PInternetProxyInfo;
begin
New(PIInfo);
PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
PIInfo^.lpszProxy := PChar('Здесь именно прокси сервер в формате "ip:port"');
PIInfo^.lpszProxyBypass := PChar('');
UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
SizeOf(Internet_Proxy_Info), 0);далее мы создаем действия программы, у меня это будет заход на сайт с целью проверки ip:
Webbrowser1.Navigate('http://2ip.ru/');и уничтожение класса с целью вернуть настройки на стандарт:
Dispose(PIInfo); end;
Получается следующая штука( не забываем кинуть на форму webbrowser и кнопочку Button):
procedure TForm1.Button1Click(Sender: TObject);
var
PIInfo: PInternetProxyInfo;
begin
New(PIInfo);
PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
PIInfo^.lpszProxy := PChar('Здесь именно прокси сервер в формате "ip:port"');
PIInfo^.lpszProxyBypass := PChar('');
UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,
SizeOf(Internet_Proxy_Info), 0);
Webbrowser1.Navigate('http://2ip.ru/');
Dispose(PIInfo);
end;В завершение хотелось бы сказать что прокси проще задавать из Edit'а. Просто кидаем Edit1 на форму и изменяем строчку:
PIInfo^.lpszProxy := PChar('Здесь именно прокси сервер в формате "ip:port"');на эту:
PIInfo^.lpszProxy := PChar(Edit1.Text);