2010-03-11 2 views
0

Я часто читаю StackOverflow в качестве источника для получения ответов; но теперь у меня есть очень конкретный вопрос, и я не могу найти какие-либо данные в Интернете. Я надеюсь, что вы будете так же полезны, как всегда! : DПолучить содержимое HTTP-потока в Java + Mozilla XPCOM

В принципе, я полагаюсь на XULRunner и ее объекты XPCOM для анализа HTTP-потока SWT-браузера в приложении Java в Linux.

Основываясь на Snippet128 и Snippet321 с веб-сайта Java SWT (не может размещать более 1 URL-адреса извините: /), мой браузер до сих пор может анализировать все HTTP-заголовки с помощью nsIHttpHeaderVisitor - и делать некоторые интересные вещи, такие как печать их на дереве и т. д.

Полный источник: here.

Теперь ... Это уже очень хорошо. Он охватывает большинство из того, что я хочу сделать (школьное задание сначала, немного больше, чем задано!).

Но мне бы очень хотелось, чтобы иметь возможность получать необработанные «контентные» данные из каждого HTTP-запроса: HTML конечно; но и CSS и изображения.

Я пытался различные способы достижения этой цели, но все не удалось до сих пор:

  1. Использование XPCOM объекта - который один?

    • nsIInputStream будет хорошим. Но я не могу найти, где хороший поток на самом деле ... Метод nsIHttpChannel open() (который возвращает nsIInputStream), похоже, вызывается браузером SWT, оставляя меня без возможности вернуть поток.
    • nsIRequest: не повезло.
    • еще один слушатель, которого я бы пропустил? Я просто потратил час, пытаясь использовать интерфейс nsIHttpActivityObserver, но он не дает мне никакого HTTP-контента (просто GET и 200 OK).
  2. Использование другого объекта

    • брАузЕр SWT для экземпляра. Хорошо, что это работает: метод getText() дает мне html-источник страницы, которую я посещаю. Но я хочу больше!

Я действительно застрял здесь, и я бы очень признателен за любую помощь.

Cheers!

Флоран

ответ

0

Возможно nsITraceableChannel может вам помочь?

 Смежные вопросы

  • Нет связанных вопросов^_^