Как я могу изменить useragent и реферер для javascript в IWebBrowser2 в переполнении стека

Я написал простую программу на C ++, которая открывает тестовую страницу в окне IE, используя IWebBrowser2 с моим HTML-заголовком (Referer, UserAgent). Все отлично работает Функции PHP на тестовой странице показывают измененные заголовки. Однако Javascript (document.referrer, navigator.userAgent) этого не делает. Как установить referer и useragent для Javascript в окне IWebBrowser2 IE?

Это моя программа:

#include <windows.h>
#include <Exdisp.h>

int main(){
if (SUCCEEDED(OleInitialize(NULL))){
IWebBrowser2* wb;

CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (void**)&wb);

if(wb){
VARIANT vempty;
VariantInit(&vempty);

VARIANT vheaders = { 0 };
BSTR headers = SysAllocString( L"Referer: http://example.com\r\nUser-Agent: xyz\r\n" );
V_VT( &vheaders ) = VT_BSTR;
V_BSTR( &vheaders ) = headers;

BSTR url = SysAllocString(L"http://localhost/test2.php");

HRESULT hr = wb->Navigate(url, &vempty, &vempty, &vempty, &vheaders);

if(SUCCEEDED(hr)){
wb->put_Visible(VARIANT_TRUE);
}
else{
wb->Quit();
}

SysFreeString(url);
SysFreeString(headers);
wb->Release();
}

OleUninitialize();
}

system("PAUSE");
}

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]