当前位置: 首页 > 编程语言 > C#

如何在Web浏览器(如IE)中打开一个URL并传递凭据Share

时间:2023-04-10 13:16:14 C#

如何在Web浏览器(如IE)中打开一个URL并传递凭据.我想将基本身份验证标头连同URL一起传递给浏览器。我怎样才能做到这一点?通过header你可以:stringuser="uuuuuuu";字符串传递=“ppppppp”;stringauthHdr="Authorization:Basic"+Convert.ToBase64String(Encoding.ASCII.GetBytes(user+":"+pass))+"rn";webBrowserCtl.Navigate("http://example.com",null,null,authHdr);鉴于这需要在每个请求的基础上完成,基本身份验证的更简单替代方案是;webBrowserCtl.Navigate("http://uuuuuuu:ppppppp@example.com",null,null,authHdr);您可以尝试旧的“URL”格式,但它不安全:http(s)://username:password@server/resource.ext这会暴露凭据,IE已禁用它,但它在其他浏览器中仍然有效。使用此格式时,浏览器可以使用凭据并根据Web服务器的响应方式决定发送基本身份验证标头。在这里尝试使用像Watin这样的东西,你可以找到关于Watin的好博客文章。代码如下:publicvoidSearchForWatiNOnGoogle(){using(varbrowser=newIE("http://www.google.com")){browser.TextField(Find.ByName("q")).TypeText(“等待”);browser.Button(Find.ByName("btnG")).Click();首先检查这段代码:DimresultAsStringUsingwClntAsNewNet.WebClientwClnt.Credentials=NewSystem.Net.NetworkCredential("username","password")UsingstrRAsNewIO.StreamReader(wClnt.OpenRead("http://ADDRESS_To_READ"))result=strR.ReadToEndEndUsingEndUsing如果不是您想要的,请查看这篇文章,它可能会有所帮助:HowtologintoawebsiteusingWebClient?更新:这样你就不会打开任何浏览器。只需获取您想要的地址并传递凭据即可。.Net中的WebBrowser控件使用InternetExplorer作为浏览器,所以如果您不介意使用IE,这是我编写的代码。h5url是您要在窗口中打开的URL。我的程序甚至不显示浏览器控件,它在登录网页时生成InternetExplorer的实例。使用(WebBrowserWebBrowser1=newWebBrowser()){Stringauth=System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(_User+":"+_Password));stringheaders="Authorization:Basic"+auth+"rn";WebBrowser1.Navigate(h5URL,"_blank",null,headers);这将打开一个新的浏览器,其中包括您需要的身份验证(在IE中打开URL)并传递凭据共享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: