我需要在C#程序中使用用户凭据打开一个URL。我试图像这样使用Winform WebBrowser
:
string user = "user";
string pass = "pass";
string authHdr = "Authorization: Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(user + ":" + pass)) + "\r\n";
webBrowser1.Navigate("http://example.com/userProfile", null, null, authHdr);
它工作正常。但是,winform WebBrowser窗口不像IE,Fireworks,Chrome等浏览器那样用户友好。
所以我想知道有没有办法在默认浏览器中使用基本授权打开URL。寻找任何想法。感谢!!!
答案 0 :(得分:0)
using (System.Diagnostics.Process process = new System.Diagnostics.Process())
{
try
{
process.StartInfo.FileName = "explorer.exe";
process.StartInfo.Arguments = "http://stackoverflow.com/";
process.Start();
}
catch (System.Exception e)
{
}
}
你是说这个吗?
答案 1 :(得分:0)
我回答了类似的问题here on stackoverflow...
回顾: .Net中的WebBrowser控件使用Internet Explorer作为浏览器,所以如果您不介意使用IE,这就是我编写的代码。 h5url 是您要在窗口中打开的网址。我的程序甚至没有显示浏览器控件,这会产生一个Internet Explorer实例,其中登录的网页包含头部编码的凭据信息。 (用户/密码变量)
using (WebBrowser WebBrowser1 = new WebBrowser())
{
String auth =
System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(_User + ":" + _Password));
string headers = "Authorization: Basic " + auth + "\r\n";
WebBrowser1.Navigate(h5URL, "_blank", null, headers);
}
这将打开一个新的浏览器,其中包含您需要进行身份验证的任何标头,无论是基本还是其他。