11

Fiddler を使用すると、警告ダイアログが表示されます。

Fiddler has detected a protocol violation in session #14.

The Request's Host header did not match the URL's host component.

URL Host:   proxy.music.pp.com
Header Host:    119.147.22.41

そして、Fiddler が HTTP ヘッダーのホストを「proxy.music.pp.com」に変更したことを示しています。Fiddler の変更を無効にする方法はありますか?

4

4 に答える 4

8

私のから:

ホスト ヘッダーを交換する

URL が Host ヘッダーと一致しない要求を Fiddler が取得すると、元の Host 値がセッション フラグに格納され、X-Original-HostそのHost値が URL から解析されたホストに置き換えられます。次のスクリプトは、FiddlerScript のBeforeRequest関数内に配置され、元の Host ヘッダーで指定されたホストに要求をルーティングすることで動作を逆にします。

if (oSession.BitFlags & SessionFlags.ProtocolViolationInRequest) 
{
  var sOverride = oSession["X-Original-Host"];
  if (!String.IsNullOrEmpty(sOverride)) 
  {
    oSession["X-overrideHost"] = sOverride;
    oSession["ui-backcolor"] = "yellow";

    // Be sure to bypass the gateway, otherwise overrideHost doesn't work
    oSession.bypassGateway = true;
  }
}
于 2013-02-13T19:33:08.883 に答える
1

これはルールを使用して行うことができます。

[ルールのカスタマイズ]に移動して、次の関数を見つけます。OnBeforeRequest(oSession: Session)

次に、その関数の最後の行として以下を追加します。

if (oSession.HostnameIs("proxy.music.pp.com")) { oSession.host = "119.147.22.41"; }
于 2013-02-13T14:04:52.277 に答える
0

「url ホスト」の意味がわかりませんでした。つまり、通常、HTTP には Host ヘッダーしかありません。

よく見ると、この違反は、次のような最初のプロキシ「セットアップ」リクエストで発生しているようです。

 CONNECT targaryen:45633 HTTP/1.1
 Host: targaryen

これは、エラーが私にとって理にかなっている場所です。

于 2013-10-18T19:05:14.230 に答える