编程方式的登陆 ASP.NET

Form

构造request到登陆的页面,检查当前页面的html来获取要post的username和password对应的input的name,然后post提交进行登陆。

非form

1. 访问登陆站点,进行用户验证,然后保存cookie到内存中

{
//设置用户信息,发起请求
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(StocknetJsCfg.Xoi_UrlLogin);
webRequest.Credentials 
= new NetworkCredential(User, Pwd);
HttpWebResponse webResponse 
= (HttpWebResponse)webRequest.GetResponse();

//从响应头中获取验证的cookie信息
authenticateCookieText = webResponse.Headers[“Set-Cookie”];
//Remove expires info 
authenticateCookieText = expiresRegex.Replace(authenticateCookieText, "");
}

2. 使用保存在内存中的验证cookie访问其他受限页面

{
HttpWebRequest webRequest 
= (HttpWebRequest)WebRequest.Create(url);
webRequest.Headers.Set(
"Accept-Encoding","gzip");
//设置验证COOKIE放到请求中
webRequest.CookieContainer = new CookieContainer();
webRequest.CookieContainer.SetCookies(webRequest.Address, authenticateCookieText);

HttpWebResponse webResponse 
= (HttpWebResponse)webRequest.GetResponse();
Stream respDecode;
switch (webResponse.ContentEncoding) 
{

case "gzip":

    respDecode 
= new GZipInputStream(webResponse.GetResponseStream());
    
break;

case "deflate":

    respDecode 
= new InflaterInputStream(webResponse.GetResponseStream(), new Inflater(true));
    
break;

default:          // "text/xml"

    respDecode 
= webResponse.GetResponseStream();
    
break;

}

....
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值