Свои настройки Proxy в программе с TWebBrowser.Изменение в ходе выполнения

Сразу скажу, что эта статья - маленькая рекомендация тем, кто хочет реализовать возможность работы TWebBrowser в своей программе с настройками Proxy , которые отличаются от стандартных.

В один прекрасный день мне понадобилось в программе периодически менять Proxy и при этом пользоваться всем, что предоставляет IE. Лучший и единственный выбор - TwebBrowser. При близком знакомстве с ним стало понятно, что через Proxy он работать не может (вернее может, но берет настройки из "Свойств обозревателя"). Перспектива постоянно менять настройки реестра меня не прельщала. И как назло ни в одной крупной конференции не было даже упоминания о возможности настройки Proxy в ходе выполнения программы кроме изменения реестра (может плохо искал). Перерыв Fido-архивы и конференции Инета накаткнулся на win-функцию UrlMkSetSessionOption. Вот к чему привели мои изыскания :


....  
uses ... urlmon, wininet ...  
....  
var PIInfo : PInternetProxyInfo;  
...       
New (PIInfo) ;  
PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY ;    
//  Изменение  настроек ПРОКСИ   
PIInfo^.lpszProxy := PChar('some.proxy:someport');    
//  указать  прокси  напр.  
195.43.67.33:8080   
PIInfo^.lpszProxyBypass := PChar('');    
//  Список адресов, доступ к которым возможен минуя Proxy сервер  
  
UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo,   
SizeOf(Internet_Proxy_Info), 0);    
....   
Dispose (PIInfo) ;   
....   

Вызывать функцию UrlMkSetSessionOption можно из любого места программы, причем любое количество раз и с разными настройками.

После вызова функции TWebBrowser будет работать через указанный прокси. Еще раз повторюсь настройки касаются только текущей сессии (программы на момент выполнения ), общие настройки Windows не изменяются.
Теги:
Proxy, TWebBrowser
Добавлено: 31 Июля 2018 07:08:23 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...