IWebBrowser2 + Proxy
От: Аноним  
Дата: 05.05.06 09:52
Оценка:
Привет.
Тут такая проблема: есть некоторое количество браузеров, надо каждому из них привязать свой прокси.
Я так понимаю что тут надо использовать функцию UrlMkSetSessionOption.
Но она вешается на текущую сессию. В какой момент или при каком событии надо её использовать?
Пробовал перед началом навигации и при DISPID_BEFORENAVIGATE2 не получается, скорее что то происходит, но навигация обрывается ошибкой
, что то типа "не могу загрузить страницу".

Использую такой метод:
HRESULT CClickRAgentFrame::SetProxyInfo(CString csProxyAddress, long lProxyPort, CString csProxyLogin, CString csProxyPassword)
{
INTERNET_PROXY_INFO ipi;
ipi.lpszProxyBypass = NULL;

char strPort[33] = {0};
ltoa(lProxyPort,strPort,10);

if( csProxyAddress.IsEmpty() )
{
ipi.dwAccessType = INTERNET_OPEN_TYPE_DIRECT;
ipi.lpszProxy = NULL;
}else{
CString csProxy = "";
if( !csProxyLogin.IsEmpty() )
csProxy = csProxyLogin + ":" + csProxyPassword + "@";

csProxy = csProxy + csProxyAddress + ":" + CString(strPort);

ipi.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
ipi.lpszProxy = csProxy;
}
return UrlMkSetSessionOption(INTERNET_OPTION_PROXY,(LPVOID)&ipi,sizeof(INTERNET_PROXY_INFO),0);
}

Пробовал использовать InternetSetOption, но он вешает гобальный прокси если HINTERNET = NULL, тогда возникла проблема как получить
соединение которое использует IWebBrowser2.
Короче я мучаюсь в догатках что делать с этим.
Помогите.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.