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


Автор: darkcoder 10.10.2007, 12:25
Всем привет. Необходимо отключить передачу user-agent для этого компонента, подскажите как?
Что я пробовал делать:
Заковотил функции где в реестр пишется юзерагент, убирал юзерагент из инетопен, из констант, все равно не помогает, или помогает частично.

Вот такой юзеранегт сейчас без отключения в коде компонента:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; MRA 4.10 (build 01952); Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)

Строка разделяется ';', значит в коде где то из переменных эта строка и собирается, а между ними ';' ???

Почему не помогает замена InternetOpen(PChar(UserAgent) на InternetOpen(PChar(''), разве не через InternetOpen этот компонент
работает? Какие еще функции посомотреть?


M
Alexeis
Модератор: Название темы должно отражать ее суть!

Автор: MetalFan 10.10.2007, 13:53
вот код, выдранный из EWBTools
Код

procedure SetProxy(UserAgent, Address: string); //mladen
var
   list: INTERNET_PER_CONN_OPTION_LIST;
   dwBufSize: DWORD;
   hInternet: Pointer;
   Options: array[1..3] of INTERNET_PER_CONN_OPTION;
begin
   dwBufSize := sizeof(list);
   list.dwSize := sizeof(list);
   list.pszConnection := nil;
   list.dwOptionCount := High(Options); // the highest index of the array (in this case 3)
  // list.pOptions:= Allocmem(sizeof(INTERNET_PER_CONN_OPTION) * 3);
  //if list.pOptions = nil then
  //  Exit;
   Options[1].dwOption := INTERNET_PER_CONN_FLAGS;
   Options[1].Value.dwValue := PROXY_TYPE_DIRECT or PROXY_TYPE_PROXY;
  //inc(list.pOptions);
   Options[2].dwOption := INTERNET_PER_CONN_PROXY_SERVER;
   Options[2].Value.pszValue := PChar(Address);
  //inc(list.pOptions);
   Options[3].dwOption := INTERNET_PER_CONN_PROXY_BYPASS;
   Options[3].Value.pszValue := '<local>';
  //Dec(list.pOptions, 2);
   list.pOptions := @Options;
   hInternet := InternetOpen(PChar(UserAgent), INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
   InternetSetOption(hInternet, INTERNET_OPTION_PER_CONNECTION_OPTION, @list, dwBufSize);
   InternetSetOption(hInternet, INTERNET_OPTION_REFRESH, nil, 0);
   InternetCloseHandle(hInternet);
end;

попробуй под себя адаптировать...

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