zoukankan      html  css  js  c++  java
  • C#中SESSIONID的获取

    网站为了区分不同的用户,会在每次访问这个站点时给此会话一个ID,我们称之为SESSIONID,而这个ID在每个IE会话中是可以直接看到的,但在模拟登录中就很难获取到。我就在这个问题上卡了很长时间的壳,现在将此问题的解决方案写出来,以供后人参考。:-)

         其实说来得到这个SESSIONID的原理非常简单,就是在每次的HTTPWEBRESPONSE中CATCH到这个WEBEXCEPTION,从而在这个WEBEXCEPTION中得到那个网站返回的COOKIE值,一般来讲,此值为“Set-Cookie”,我们可以从此值中得到本次会话的SESSIONID,从而在以后的模拟登录时,将此SESSIONID作为Authorization子项发送给需要模拟登录的网页,从而实现自动登录!

    现将我实现的这个得到SESSIONID的小函数贴出来::-)


            ******* String getrequestauthorization(String str)
            {
                String url = "www.11zhuce.com";                  //需要模拟登录的网页地址,可由VS05在网页登录时探测出来

                HttpWebRequest myrequest;
                try
                {
                    myrequest = (HttpWebRequest)WebRequest.Create(url);
                }
                catch (WebException we)
                {
                    MessageBox.Show(we.Message);
                    return "";
                }

                String session="";
                HttpWebResponse myresponse;
                try
                {
                    myresponse = (HttpWebResponse)myrequest.GetResponse();
                }
                catch (WebException ex)                      //下面非常关键!!!此处得到sessionid!!!
                {
                    WebResponse res = ex.Response;
                    session = res.Headers["Set-Cookie"];
                    session = session.Substring(0, session.IndexOf(";"));
                }
                return session;
            }

  • 相关阅读:
    浏览器 页面报错
    TP单字母函数
    TP系统常量、项目后台的搭建、模板中常量字符串替换
    ThinkPHP3.2的简单知识
    面向对象基本概念,关键字,类的组成,静态,三大特性,创建类和对象,设计模式
    layui(弹出层)
    头像文件上传 方法一:from表单 方法二:ajax
    上传文件
    流程增加,发起事件,流程显示,处理。
    分页,条件查找后再分页
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668425.html
Copyright © 2011-2022 走看看