4

Web ブラウザー コントロールのユーザー エージェントを変更したいと考えています。私がすることができます:

webbrowserTest.Navigate(new Uri("http://mywebsite.com"), null, "User-Agent: myuseragent");

問題は、ユーザー エージェントが 1 つのリクエストに対してのみ有効であり、サブリクエストまたはリダイレクトに対して有効ではないことです。このユーザーエージェントを永久に変更するには?

4

1 に答える 1

-1

それは封印されたクラスであるため、HttpRequestの作成を傍受する方法はないと思います.UserAgent/その他のヘッダーを必要としない他のリクエストを後で行うことができるので、一般的にはそのような考えを避けます. ここで行う最も簡単な方法は、おそらく別の静的クラスで拡張メソッドを作成することです。たとえば、次のようになります。

public static class WebBrowserExtensions
{
    public static void NavigateWithUserAgent(this WebBrowser webBrowser, Uri uri)
    {
        webBrowser.Navigate(uri, null, "User-Agent: myuseragent");
    }
}

そして、次のように呼び出します。

new WebBrowser().NavigateWithUserAgent(new Uri("http://mywebsite.com"));

お役に立てれば。

于 2013-01-07T15:34:23.900 に答える