怎么不让网站弹出用户名密码框

TearyWang 2011-09-06 10:40:28
我用C#去访问一个网站,但是这个网站要求出入用户名和密码,弹出的是Windows那种框,我也知道用户名和密码,我在程序里应该怎么做,让这个程序去访问网站的时候,直接打开页面,而不弹出这个框。
...全文
270 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
张云飞VIR 2011-09-06
  • 打赏
  • 举报
回复
你想用你的程序 不让 其他的web应用程序弹出登录? 做登录吧...成功授权才行,或者了解sso的一些资料
孟子E章 2011-09-06
  • 打赏
  • 举报
回复

System.Diagnostics.Process.Start("start http://username:pass@www.xxxx.com");
or
System.Diagnostics.Process.Start("iexplore.exe http://username:pass@www.xxxx.com");

不过url传密码的方法默认被禁止了。
TearyWang 2011-09-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 net_lover 的回复:]

你是采用什么方法调用的?
[/Quote]
我现在并没有严格限制调用,我的目的就是需要通过C#程序,打开浏览器。这里我需要解决的问题,就是统一登录的问题。所以我的C#程序找开浏览器时,不需要弹出登录框。
孟子E章 2011-09-06
  • 打赏
  • 举报
回复
原来都是可以这样的
http://username:password@wwww.xxx.com

由于安全性的原因,浏览器已经默认禁止这种做法;了
http://support.microsoft.com/kb/834489
孟子E章 2011-09-06
  • 打赏
  • 举报
回复
你是采用什么方法调用的?
TearyWang 2011-09-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]
Credentials 属性

类似这样
C# code
private string LoadHttpPageWithDigestAuthentication(string url, string username, string password)
{
Uri myUri = new Uri(url);
WebRequest myWebRequest = HttpWe……
[/Quote]
感谢您的回复,我现在的问题就出在这里,我需要的是调用浏览器去打开网页,而不是直接直接使用HTTP请求去获取页面的数据。
孟子E章 2011-09-06
  • 打赏
  • 举报
回复
Credentials 属性

类似这样
private string LoadHttpPageWithDigestAuthentication(string url, string username, string password)
{
Uri myUri = new Uri(url);
WebRequest myWebRequest = HttpWebRequest.Create(myUri);

HttpWebRequest myHttpWebRequest = (HttpWebRequest)myWebRequest;

NetworkCredential myNetworkCredential = new NetworkCredential(username, password);

CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(myUri, "Digest", myNetworkCredential);

myHttpWebRequest.PreAuthenticate = true;
myHttpWebRequest.Credentials = myCredentialCache;

WebResponse myWebResponse = myWebRequest.GetResponse();

Stream responseStream = myWebResponse.GetResponseStream();

StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default);

string pageContent = myStreamReader.ReadToEnd();

responseStream.Close();

myWebResponse.Close();

return pageContent;
}


或者
CredentialCache wrCache = new CredentialCache();
wrCache.Add(new Uri(uri),"Basic",new NetworkCredential(UserName,UserPwd));
myWebRequest.Credentials = wrCache;

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧