![]() |
|
|
|
|
#1
|
|||
|
|||
|
Привет! подскажите пожалуйста, запустил прокси сервер, настроил браузер на него, как теперь при переходе в браузере например на http://yandex.ru сделать так чтобы в него загрузилось содержимое яндекса, кроме например блока рекламы, то есть в браузере отобразилась страница, которая была обработана и возможно изменена прокси сервером.
|
|
#2
|
||||
|
||||
|
В httpproxy событие есть, не помню точно как называется OnTransferData вроде, там в параметрах передается ручей, с содержимым html страницы, вот его и обрабатывай, вырезай что надо.
|
|
#3
|
||||
|
||||
|
Баннерорезка при помощи proxy? Сурово...
И̶л̶и̶ ̶э̶т̶о̶ ̶н̶е̶ ̶б̶а̶н̶н̶е̶р̶о̶р̶е̶з̶к̶а̶?̶ |
|
#4
|
||||
|
||||
|
Не, а NDIS драйвер ляпать лучше? Или винсок хукать?
|
|
#5
|
||||
|
||||
|
А браузеры зря предоставляют интерфейсы для написания расширений?
|
|
#6
|
||||
|
||||
|
писать расширения для "большой пятерки" сложнее, чем "фильтр" на прокси, имхо
|
|
#7
|
|||
|
|||
|
Цитата:
пробовал при помощи idhttp скачивать в IdHTTPServer1CommandGet скачивать и обрабатывать Код:
docbody:=http.get('http://'+ARequestInfo.Host+ARequestInfo.Document);Код:
AResponseInfo.ContentText:=docbody; в моей задачке без разницы каким способом фильтровать страницы, и не важно во внешних браузерах или во встроеном twebbrowser, важно 1. средствами delphi 2. возможность корректировать именно javascript код и или CSS а не только тегов. 3. поддержка куков 4. чтобы браузер не заметил подмену и все было "на лету" 5. чтобы маски для фильтрации можно было задавать в ручную и сколько угодно. пробовал в twebbrowser подменить до отображения - не получается, пробовал в EmbeddedWB MimeFilter он тоже не везде работает правильно почему то. ![]() |
|
#8
|
||||
|
||||
|
В WebBrowser я прекрасно рулил кукисами, стандартная DOM-модель, элементы и прочее доступны.
|
|
#9
|
|||
|
|||
|
Разве через DOM можно получить доступ к многочисленым вкраплениям javascript?
самый главный вопрос - как вернуть браузеру (клиенту) полный хтмл код страницы, которую он запросил у прокси сервера (idhttpserver)?? у него есть такая функция или это вручную делать? кто знает кто работал с этим подскажите пожалуйста! ![]() пробую скачивать каждую при помощи Idhhtp Код:
function dl(url:string):string;
var
s:string;
myhttp:tidhttp;
begin
myHttp := TIdHTTP.Create(nil);
try
s:=myHttp.Get(URL);
finally
myHttp.Free;
end;
result:=s;
end;Код:
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
AResponseInfo.ContentText:=dl('http://'+ARequestInfo.Host+ARequestInfo.Document);
end;![]() Последний раз редактировалось pireved, 25.08.2012 в 04:51. |
|
#10
|
||||
|
||||
|
Цитата:
![]() |