2011-05-29 3 views
3

誰でも、xpcom /その他のものを使用して、誰でも、拡張子の中でヘッダとPostDataを取得する方法を教えてください。 大きなコードベースであるためfirebugの中で関数を見つけることはできません...ありがとう皆さんありがとうございましたFireBugのようにPostDataを取得

+0

あなたはコードベース内の関数を検索したい場合は、常にのgrep(または同等のもの)を試すことができます。 – robbrit

+0

それはあまりにもOOPコード:)非常に深いので、何のために何を明確にするには時間がかかる... – homakov

答えて

0

私は応答ヘッダーではなくリクエストヘッダーが必要だと仮定しています。次に、http-on-modify-request通知のオブザーバーを登録します。一般的なドキュメントはhttps://developer.mozilla.org/en/Observer_Notifications#HTTP_requests、コード例はhttps://developer.mozilla.org/en/Creating_Sandboxed_HTTP_Connections#Handling_cookiesの下にあります。ヘッダーを取得するのは簡単です。単にnsIHttpChannel.getRequestHeader()と呼んでください。

応答ヘッダーの取得は似ていますが、http-on-examine-response通知、おそらくはhttp-on-examine-cached-responseも聞く必要があります。

POSTデータはトリッキーです。アップロードストリームはhttpChannel.QueryInterface(Components.interfaces.nsIUploadChannel).uploadStreamとして取得できます。しかし、ストリームは一度だけ読み取ることができます。ストリームはあなたまたはコードをサーバーに送信します。だから、あなたは同じように見えるが、あなたがそれを覗き見ることができるものでストリームを置き換える必要があります - 元のストリームをソースとして、nsIPipeをシンクとして設定するおそらくnsIInputStreamTee。これがFirebugによって選択されたアプローチであるかどうかは不明です。

関連する問題