2009-04-30 18 views
4

Internet Explorerブラウザヘルパーオブジェクトを使用してHTTP要求ヘッダーを変更したいとします。 基本的には、リクエストごとにいくつかのヘッダーを変更し、ブラウザに返す前にレスポンスを変更する必要があります。ブラウザヘルパーオブジェクトを使用したHTTP要求と応答の変更

私はOnNavigate2イベントを使用しようとしましたが、すべてのヘッダーにアクセスすることさえできません。

非同期プラグ可能なプロトコルを作成しようとしましたが、実際にはデフォルトのHTTP実装にアクセスできず、デフォルトのHTTP要求を上書きできません。

これがどのように行われるはずですか? 私はC#を好んでいますが、必要に応じてC++を使用できます。

+0

全体的な目標をより高いレベルで説明することは役に立ちます。 – EricLaw

+0

ちょうど 'WinInet'をフックしてからやり直してください。 –

+0

こんにちは、あなたはこの問題を解決したか、私は同じシナリオにいるので、まだ問題があります。 – yo2011

答えて

0

これを行う最も簡単な方法は、httpプロキシを使用してFiddlerのやり方をすべて傍受することです。

Fiddler PowerToy (Part 1)のこの説明を参照してください。

+0

私は自分自身でやりたいことではなく、ユーザーのコンピュータにインストールしたいものです。 HTTPプロキシを使用したくないのは、プロキシを設定する必要があり、既にプロキシを持っている可能性があるからです。私は代理人として行動したいが、の代理人としてという代理人として登録されることは望ましくない。 私はGoogleツールバーの SDCH機能を使って行うので、私がしたいことがわかっていなければなりません。 –

+0

どうすればリンクを使うのかが間違っています。 私は意味しました: http://www.google.com/support/toolbar/bin/answer.py?hl=ja&answer=113087 –

0

BeforeNavigate2イベントのheadersパラメーターを使用して、カスタムヘッダーのみを変更できるようです。すべてのヘッダーにアクセスできるわけではありません。これは、BHOのトロイの木馬としての可能性を最小限に抑えようとする方法です。代わりにHTTPプロキシを使用してください。

+0

実際にはそうではありません:<<これは、 >> – EricLaw

+1

送信されたヘッダーにアクセスできないが、ヘッダーを追加して既存のヘッダーを置き換えることができます。たとえば、User-Agent:fooを指定すると、通常のUser-Agentヘッダーが上書きされます。 – Julien

3

URLモニカで行うことができます。 イゴール・タンデティックという男のようなものが実装されています。 コードへのリンクは、microsoft.public.inetsdk.programming google groupにあります.PassthruAPPを探してください。 (私はリンクを掲示していましたが、明らかに新しいユーザーはこれを許可されていません)

それは応答のボディの変更を直接サポートしていません。 IInternetProtocolImpl :: Readメソッドにフックを挿入する必要があります。

+1

GoogleツールバーはAPPラッパーアプローチを使用します。マイクロソフトでは、安定性、パフォーマンス、および信頼性の問題を引き起こすため、開発者はこれを行わないことを特に推奨しています。複数のアドオン(Gearsなど)を使用している場合、結果はほとんど常にクラッシュまたは壊れたアドオンになります。 – EricLaw

関連する問題