为WebBrowser控件设置身份验证标头

我在我的asp.net应用程序中使用WebBrowser控件来生成网页截图。 我能够生成图像,直到我更改了应用程序池帐户。 我给了新的应用程序池所有必要的权利,并且我可以从IE浏览我的页面。 但是当我通过Web浏览器控件以编程方式导航时,我得到了401.2。 我在IIS 7.0中设置了“失败的请求跟踪规则”,并使用Fiddler来嗅探请求,并发现身份验证头不正确。

但webbrowser.navigate有一个重载的方法,我们可以传递自定义的http头文件。 我该如何设置它? 我只想使用集成身份验证,并且不想在代码中提供用户名/密码,因为我可能不知道它。 但我仍然尝试了下面的代码,但没有运气。

System.Uri uri = new Uri(myUrl);
byte[] authData = System.Text.UnicodeEncoding.UTF8.GetBytes("user: passwd");
string authHeader = "Authorization: Basic " + Convert.ToBase64String(authData) + "rn";
myBrowser.Navigate(uri, "", null, authHeader);

任何想法如何设置标题与其他细节,如useragent呢?


如果你想在头文件中包含用户代理,你可能应该这样做:

string authHeader = "Authorization: Basic " + Convert.ToBase64String(authData) + 
        "rn" + "User-Agent: MyUserAgentrn";

请记住,每个标题必须以回车换行符结束。

链接地址: http://www.djcxy.com/p/52911.html

上一篇: Setting authentication header for WebBrowser control

下一篇: BroadcastReceiver Life Cycle