欢迎光临
我们一直在努力

(论坛答疑点滴)如果向某网址Post信息,并得到CookieContainer以便以后直接通过验证-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

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);     
            //再次显示”登录” 
            //如果把*行注释调,就显示”没有登录” 
        } 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » (论坛答疑点滴)如果向某网址Post信息,并得到CookieContainer以便以后直接通过验证-.NET教程,Asp.Net开发
分享到: 更多 (0)