html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

(论坛答疑点滴)如果向某网址Post信息,并得到CookieContainer以便以后直接通过验证_.NET教程_编程技术

[ ] 已经帮助:人解决问题
cookie
using System; 
using System.Net; 
using System.IO; 
using System.Text;         [STAThread] 
        static void Main(string[] args) 
        { 
            // 
            // TODO: 在此处添加代码以启动应用程序 
            // 
            string url="http://localhost/csdn2/1.asp"; 
//            <% 
//            if request("aa")="zhuye" then session("ok")="ok" 
//            if session("ok")="ok" then 
//            response.write("登录") 
//            else 
//            response.write("没有登录") 
//            end if 
//            %> 
            string indata="aa=zhuye"; 
            string outdata=""; 
            CookieContainer myCookieContainer=new CookieContainer(); 
            //新建一个CookieContainer来存放Cookie集合 
            HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(url); 
            //新建一个HttpWebRequest 
            myHttpWebRequest.ContentType="application/x-www-form-urlencoded"; 
            myHttpWebRequest.ContentLength=indata.Length; 
            myHttpWebRequest.Method="POST"; 
            myHttpWebRequest.CookieContainer=myCookieContainer; 
            //设置HttpWebRequest的CookieContainer为刚才建立的那个myCookieContainer 
            Stream myRequestStream=myHttpWebRequest.GetRequestStream(); 
            StreamWriter myStreamWriter=new StreamWriter(myRequestStream,Encoding.GetEncoding("gb2312"));                 
            myStreamWriter.Write(indata); 
            //把数据写入HttpWebRequest的Request流 
            myStreamWriter.Close(); 
            myRequestStream.Close(); 
            //关闭打开对象 
            HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse(); 
            //新建一个HttpWebResponse 
            myHttpWebResponse.Cookies=myCookieContainer.GetCookies(myHttpWebRequest.RequestUri); 
            //获取一个包含url的Cookie集合的CookieCollection 
            Stream myResponseStream=myHttpWebResponse.GetResponseStream(); 
            StreamReader myStreamReader=new StreamReader(myResponseStream,Encoding.GetEncoding("gb2312")); 
            outdata=myStreamReader.ReadToEnd(); 
            //把数据从HttpWebResponse的Response流中读出 
            myStreamReader.Close(); 
            myResponseStream.Close(); 
            Console.WriteLine(outdata); 
            //显示"登录" 
 
            //拿到了Cookie,再进行请求就能直接读取到登录后的内容了 
            myHttpWebRequest=(HttpWebRequest)WebRequest.Create(url); 
            myHttpWebRequest.CookieContainer=myCookieContainer;//* 
            //刚才那个CookieContainer已经存有了Cookie,把它附加到HttpWebRequest中则能直接通过验证 
            myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse(); 
            myHttpWebResponse.Cookies=myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);             
            myResponseStream=myHttpWebResponse.GetResponseStream(); 
            myStreamReader=new StreamReader(myResponseStream,Encoding.GetEncoding("gb2312")); 
            outdata=myStreamReader.ReadToEnd(); 
            myStreamReader.Close(); 
            myResponseStream.Close(); 
            Console.WriteLine(outdata);     
            //再次显示"登录" 
            //如果把*行注释调,就显示"没有登录" 
        } 
WH4HTML5中文学习网 - HTML5先行者学习网
WH4HTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助