c# – 为WebBrowser控件设置身份验证标头 – ASP.NET

c# – 为WebBrowser控件设置身份验证标头 – ASP.NET,第1张

概述我在我的asp.net应用程序中使用WebBrowser控件来生成网页的屏幕截图.在更改应用程序池帐户之前,我能够生成图像.我给了新应用程序池所有必要的权限,我可以从IE浏览我的页面.但是当我以编程方式通过Web浏览器控件导航到它时,我得到的是401.2.我在IIS 7.0中设置了“失败的请求跟踪规则”,并使用Fiddler来嗅探请求,我发现身份验证标头不正确. 但是webbrowser.navi 我在我的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) + "\r\n";mybrowser.Navigate(uri,"",null,authheader);

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

解决方法@H_301_11@ 如果要在标头中包含用户代理,则应该执行以下 *** 作:
string authheader = "Authorization: Basic " + Convert.ToBase64String(authData) +         "\r\n" + "User-Agent: MyUserAgent\r\n";

请记住,每个标题必须以回车换行符对终止.

总结

以上是内存溢出为你收集整理的c# – 为WebBrowser控件设置身份验证标头 – ASP.NET全部内容,希望文章能够帮你解决c# – 为WebBrowser控件设置身份验证标头 – ASP.NET所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1244955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存