(论坛答疑点滴)如果向某网址Post信息,并得到CookieContainer以便以后直接通过验证

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

时间: 2024-08-02 21:47:36

(论坛答疑点滴)如果向某网址Post信息,并得到CookieContainer以便以后直接通过验证的相关文章

(论坛答疑点滴)如何在一个用户控件内操作另外一个用户控件的中的控件?

控件 比如一个论坛,上面一个top用户控件用来登陆,下面一个buttom的用户控件用来显示在线人数,要求登陆以后立即刷新online中的在线人数,就需要在一个用户控件中操作另外一个用户控件中的控件(这2个用户控件都包含在一个页面中) 看过 http://www.cnblogs.com/lovecherry/archive/2005/03/25/125515.html 和 http://www.cnblogs.com/lovecherry/archive/2005/04/11/135543.htm

(论坛答疑点滴)联合主键的情况怎么在DataGrid中利用DataKeys定位记录?

datagrid   比如表中三个字段 key1 int,key2 int,item varchar(50) 前面2个字段联合主键 前台代码: <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" DataKeyField="DoubleKey">                 <Columns>        

(论坛答疑点滴)如果用DataGrid实现类似DataList多列的效果

datagrid  上一次说了怎么利用DataGrid纵向显示 http://www.cnblogs.com/lovecherry/archive/2005/04/23/143819.html 其实这么做的好处在于DataGrid能够方便的进行分页,这个排列次序接近于DataList的RepeatDirection="Vertical"效果 今天再来对上次的程序进行一下修改,实现RepeatDirection="Horizontal"的效果,同时启用DataGrid

(论坛答疑点滴)有的时候DataGrid取值取不到?

datagrid   有的时候想取不是编辑状态的值,这个时候通常不会使用模板列中放置TextBox通过e.Item.FindControl取值,有的网友问为什么取不到?这要看你前台的列怎么写的了,下面分别写出四种情况和这四种情况下面的取值方式: <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" AllowPaging="True"

(论坛答疑点滴)怎么给Table动态添加控件并且得到控件的值?

动态|控件 此例子达到的效果是: 每按一次Button1,在表格Table1中添加一行(行中有2列,一列是文本框,一列是下拉框),并且当按钮第一次按下时再添加一个按钮,点击这个动态添加的按钮,输出表格中所有的控件的值. 前台: <form id="Form1" method="post" runat="server">             <asp:Table id="Table1" runat=&quo

(论坛答疑点滴)如何动态设定类的属性和字段?

动态 正好有人问这个,代码非常简单,最基本的应用,直接贴代码 using System; namespace Test {     /**//// <summary>     /// Class1 的摘要说明.     /// </summary>     class Class1     {         /**//// <summary>         /// 应用程序的主入口点.         /// </summary>         [ST

(论坛答疑点滴)用户控件动态加载PostBack后的问题

动态|加载|控件|问题 很多网友在按钮的click事件中动态添加用户控件在页面回传后消失了或者就是用户控件中的按钮事件不能触发,下面是解决办法:(1)首先添加一个用户控件:WebUserControl1.ascx添加一个按钮:public System.Web.UI.WebControls.Button ucb;Text为"用户控件的按钮"(等会要在Page中用到这个按钮,所以设置为public)<asp:Button id="ucb" Text="

(论坛答疑点滴)如何得知调用当前方法的方法名?

using System; using System.Diagnostics; namespace StackTraceTest {  /**//// <summary>  /// Class1 的摘要说明.  /// </summary>  class Class1  {   /**//// <summary>   /// 应用程序的主入口点.   /// </summary>   [STAThread]   static void Main(string

php-向这些论坛的,当别人回复你的信息时又上方有个通知,用来显示通知的内容

问题描述 向这些论坛的,当别人回复你的信息时又上方有个通知,用来显示通知的内容 像这些论坛的,当别人回复你的信息时在右上方有个通知,用来显示通知的内容,以及别人回复的内容,那应该怎么做,用php 解决方案 问题太宽泛了,不知道你想问什么,是界面部分,还是实时通讯部分,还是服务器端部分.你看到的一个功能,它是一系列前端后端复杂业务组成的.一个问题不可能回答你所有的技术. 首先你应该简化和明确你提问的范围,当然,如果你完全是一窍不通,而且也不打算搞清楚怎么回事,那么google一些现成的代码,或者干