如何使用asp.net c#以编程方式登录安全的https网站 [英] How to login Secured https website using asp.net c# programatically
问题描述
您好,
任何人都可以帮助我,登录到一个网站(编程),这是https。我有该网站的用户名和密码。我正在使用HttpWebRequest和HttpWebResponse ..
我的代码如下: -
CookieContainer cookies =新的CookieContainer();
WebRequest loginRequest;
//转到登录页面以便我们获得一个cookie
loginRequest =(HttpWebRequest)HttpWebRequest.Create(https:// sitename);
loginRequest.Headers.Add(Authorization,Basic+ Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(+ TextBox1.Text +:+ TextBox2.Text +)));
loginRequest.UseDefaultCredentials = true;
loginRequest.UserAgent =Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.0);
loginRequest .CookieContainer = cookies;
loginRequest.AllowAutoRedirect = false;
HttpWebResponse loginResponse =(HttpWebResponse)loginRequest.GetResponse();
//现在我们有了cookie,我们可以正确登录
HttpWebRequest doLogin =(HttpWebRequest)HttpWebRequest.Create(https:// siteName);
//doLogin.UseDefaultCredentials = true;
doLogin.UserA gent =Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.0);
doLogin.Method =POST;
doLogin.ContentType =text / html; charset = UTF-8;
doLogin.AllowAutoRedirect = false;
使用(StreamWriter sw = new StreamWriter(doLogin.GetRequestStream()))
{
sw.Write(usr =< username>& pass =+ TextBox2.Text +& mc = 1& guid =& dbnum = 0& ic = 1& task = dologin& app = library& x = 32& y = 10);
}
doLogin .CookieContainer = cookies;
doLogin.Referer =https://secure.sbigeneral.in/Extranet/faces/premiumcalc_landingpage;
HttpWebResponse Response =(HttpWebResponse)doLogin.GetResponse();
string resphead = Response.Headers [Set-Cookie];
string resp = Response.StatusCode.ToString();
使用(StreamReader) sr = new StreamReader(Response.GetResponseStream()))
{
string textresponse = sr.ReadToEnd();
}
Hello,
can anyone help me out, in login to a website(programatically) that is https. I have the username and password of that site. I am using HttpWebRequest and HttpWebResponse..
my code is as follow:-
CookieContainer cookies = new CookieContainer();
WebRequest loginRequest;
//Go to login page so that we get a cookie
loginRequest = (HttpWebRequest)HttpWebRequest.Create("https://sitename");
loginRequest.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes("" + TextBox1.Text + ":" + TextBox2.Text + "")));
loginRequest.UseDefaultCredentials = true;
loginRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";
loginRequest.CookieContainer = cookies;
loginRequest.AllowAutoRedirect = false;
HttpWebResponse loginResponse = (HttpWebResponse)loginRequest.GetResponse();
//Now that we have the cookie we can do a proper login
HttpWebRequest doLogin = (HttpWebRequest)HttpWebRequest.Create("https://siteName");
//doLogin.UseDefaultCredentials = true;
doLogin.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";
doLogin.Method = "POST";
doLogin.ContentType = "text/html;charset=UTF-8";
doLogin.AllowAutoRedirect = false;
using (StreamWriter sw = new StreamWriter(doLogin.GetRequestStream()))
{
sw.Write("usr=<username>&pass=" +TextBox2.Text + "&mc=1&guid=&dbnum=0&ic=1&task=dologin&app=library&x=32&y=10");
}
doLogin.CookieContainer = cookies;
doLogin.Referer = "https://secure.sbigeneral.in/Extranet/faces/premiumcalc_landingpage";
HttpWebResponse Response = (HttpWebResponse)doLogin.GetResponse();
string resphead = Response.Headers["Set-Cookie"];
string resp = Response.StatusCode.ToString();
using (StreamReader sr = new StreamReader(Response.GetResponseStream()))
{
string textresponse = sr.ReadToEnd();
}
推荐答案
请看一下: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.credentials%28v=vs.110%29.aspx [ ^ ]。
-SA
这篇关于如何使用asp.net c#以编程方式登录安全的https网站的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!