热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

求大神!再发一贴!获取cookie

详细情况请见下面两个帖子http:bbs.csdn.nettopics390743945http:bbs.csdn.nettopics390745025下面简单描述下我
详细情况请见下面两个帖子
http://bbs.csdn.net/topics/390743945
http://bbs.csdn.net/topics/390745025
下面简单描述下我的需求:通过客户端登录本地服务器搭建的网站。
但是获取COOKIE时,获取到的sessionid不对啊,跟浏览器直接登录时的产生的session不一样,那个session是固定的id,而我获取的总是在变。
自己分析是,设置request时没有设置对。请大神做下解答啊!

14 个解决方案

#1


class COOKIEMD
    {
        public static List GetAllCOOKIEs(COOKIEContainer cc)
        {
            List lstCOOKIEs = new List();
            Hashtable table = (Hashtable)cc.GetType().InvokeMember("m_domainTable",
                System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField |
                System.Reflection.BindingFlags.Instance, null, cc, new object[] { });
            foreach (object pathList in table.Values)
            {
                SortedList lstCOOKIECol = (SortedList)pathList.GetType().InvokeMember("m_list",
                    System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField
                    | System.Reflection.BindingFlags.Instance, null, pathList, new object[] { });
                foreach (COOKIECollection colCOOKIEs in lstCOOKIECol.Values)
                    foreach (COOKIE c in colCOOKIEs) lstCOOKIEs.Add(c);
            }
            return lstCOOKIEs;
        }

        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern bool InternetSetCOOKIE(string lpszUrlName, string lbszCOOKIEName, string lpszCOOKIEData);


        public static bool StartIE(COOKIEContainer cc,string url)
        {
            try
            {
                List TempCOOKIEs = COOKIEMD.GetAllCOOKIEs(cc);
                foreach (COOKIE i in TempCOOKIEs.ToArray())
                {
                    COOKIEMD.InternetSetCOOKIE(
                "http://weibo.com",
                i.Name.ToString(),
                i.Value.ToString() + ";expires=Sun,22-Feb-2099 00:00:00 GMT");
                }
                Process.Start("iexplore.exe", url);
                return true;
            }
            catch { return false; }
        }

    }


登录后  把COOKIE弄过来   try  StartIE

#2


记得域名改成你用的。

#3


 public class SCOOKIE
    {
        public COOKIEContainer myCOOKIE = new COOKIEContainer();//定义COOKIE容器
        public Object obj = new Object();
        public byte[] byt = new byte[1];
        public void upCOOKIE(COOKIECollection COOKIE)
        {
            for (int i = 0; i < COOKIE.Count; i++)
            {
                myCOOKIE.Add(COOKIE[i]);
            }
            obj = myCOOKIE;
            byt = ObjectToBytes(obj);
        }
        /**/
        /// 
        /// 将一个object对象序列化,返回一个byte[]
        /// 

        /// 能序列化的对象
        /// 
        public static byte[] ObjectToBytes(object obj)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(ms, obj);
                return ms.GetBuffer();
            }
        }

        /**/
        /// 
        /// 将一个序列化后的byte[]数组还原
        /// 

        /// 
        /// 
        public object BytesToObject(byte[] Bytes)
        {
            using (MemoryStream ms = new MemoryStream(Bytes))
            {
                IFormatter formatter = new BinaryFormatter();
                return formatter.Deserialize(ms);
            }
        }
        public COOKIEContainer getCOOKIE()
        {
            return myCOOKIE;
        }
    }


使用方法   bCOOKIE.upCOOKIE(myResponse.COOKIEs);

#4


引用 1 楼 wawd74520 的回复:
登录后  把COOKIE弄过来   try  StartIE

大哥 我的目的就是要登录啊!登录得获得COOKIE啊!获取不到正确的啊!

#5


引用 4 楼 danding_ge 的回复:
Quote: 引用 1 楼 wawd74520 的回复:

登录后  把COOKIE弄过来   try  StartIE

大哥 我的目的就是要登录啊!登录得获得COOKIE啊!获取不到正确的啊!


你也几级了  怎么会 不会捏?
来个链接  我试试

#6


  你自己的页面 怎么post 你应该最清楚吧

#7


太多的问题内容一般不想看,你的意思是不是通过一个客户端去访问一个网站,然后实现登陆?

这个网站是你开发的吧?那还不简单,把用户名和密码加密一下,通过网站某个功能页把它转换成登陆不就行了?

何必一定要纠结于自己生成呢?

#8


引用 6 楼 wawd74520 的回复:
  你自己的页面 怎么post 你应该最清楚吧
新人 新人 没接触过网络
网站是同事做的,我也只是大概看懂了,怎么post我是真不懂啊。
这问题纠结了2天了,一直在看在研究,本地的服务器,你是连不上了……
附F12信息
Request URL:http://localhost/gyjw/index.php/index/login_into
Request Method:POST
Status Code:200 OK
Request Headersview parsed
POST /gyjw/index.php/index/login_into HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 99
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Origin: http://localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1574.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://localhost/gyjw/index.php/index/Index.html
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
COOKIE: PHPSESSID=88b0mepbjeq3vv1lenl3qfv0s4
Form Dataview sourceview URL encoded
admin:admin
password:424
__hash__:9dcee4d5bcfb44270f8cbfaebbc2d786_cbebe27eff89edd8bb6e55eabf493c98
Response Headersview parsed
HTTP/1.1 200 OK
Date: Mon, 31 Mar 2014 06:27:07 GMT
Server: Apache/2.2.8 (Win32) PHP/5.2.6
X-Powered-By: ThinkPHP
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private
Pragma: no-cache
Content-Length: 1452
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

#9


引用 7 楼 jimil 的回复:
太多的问题内容一般不想看,你的意思是不是通过一个客户端去访问一个网站,然后实现登陆?

这个网站是你开发的吧?那还不简单,把用户名和密码加密一下,通过网站某个功能页把它转换成登陆不就行了?

何必一定要纠结于自己生成呢?
新人不懂啊!如果能提供个可行的代码就太好了!
通过网站某个功能页把它转换成登陆——就是这里不会!有例子吗?

#10


http://wenku.baidu.com/link?url=Vh78mzj7x1P5rDp037yV7iOO1fQgdJ1HoX_KKOk4A8pt-NImKOJoLV3RHjR_CL0Ue0zxZDbiPBoQwfCJ3pJjbqHMBvEHCSPF8y7bZ82nj4u

加解密的基本操作,你看一下,主要思路:
把用户名和密码加密,用post或get方法传递到功能页上,功能页把它解密出来,并实现登陆,这个应该不难吧?

这里说几个功能要点:一、功能页要学会识别数据,即数据哪里来的,安不安全。第二加密要安全,不能被人破解。三、如果出现用户名和密码对不上怎么办。四、防止有人注入。五、登陆实现后跳转要快,用JS写出跳转,别用response。

#11


引用 10 楼 jimil 的回复:
http://wenku.baidu.com/link?url=Vh78mzj7x1P5rDp037yV7iOO1fQgdJ1HoX_KKOk4A8pt-NImKOJoLV3RHjR_CL0Ue0zxZDbiPBoQwfCJ3pJjbqHMBvEHCSPF8y7bZ82nj4u

加解密的基本操作,你看一下,主要思路:
把用户名和密码加密,用post或get方法传递到功能页上,功能页把它解密出来,并实现登陆,这个应该不难吧?

这里说几个功能要点:一、功能页要学会识别数据,即数据哪里来的,安不安全。第二加密要安全,不能被人破解。三、如果出现用户名和密码对不上怎么办。四、防止有人注入。五、登陆实现后跳转要快,用JS写出跳转,别用response。

大哥我就是说你认为不难的部分我不会啊!加密解密我会的……主要问题在用post或get方法传递到功能页实现登陆上啊!

#12


引用 11 楼 danding_ge 的回复:
Quote: 引用 10 楼 jimil 的回复:

http://wenku.baidu.com/link?url=Vh78mzj7x1P5rDp037yV7iOO1fQgdJ1HoX_KKOk4A8pt-NImKOJoLV3RHjR_CL0Ue0zxZDbiPBoQwfCJ3pJjbqHMBvEHCSPF8y7bZ82nj4u

加解密的基本操作,你看一下,主要思路:
把用户名和密码加密,用post或get方法传递到功能页上,功能页把它解密出来,并实现登陆,这个应该不难吧?

这里说几个功能要点:一、功能页要学会识别数据,即数据哪里来的,安不安全。第二加密要安全,不能被人破解。三、如果出现用户名和密码对不上怎么办。四、防止有人注入。五、登陆实现后跳转要快,用JS写出跳转,别用response。

大哥我就是说你认为不难的部分我不会啊!加密解密我会的……主要问题在用post或get方法传递到功能页实现登陆上啊!



你随便弄个网站登录给我  我帮你试试  给你dom

#13


引用 12 楼 wawd74520 的回复:
Quote: 引用 11 楼 danding_ge 的回复:

Quote: 引用 10 楼 jimil 的回复:

http://wenku.baidu.com/link?url=Vh78mzj7x1P5rDp037yV7iOO1fQgdJ1HoX_KKOk4A8pt-NImKOJoLV3RHjR_CL0Ue0zxZDbiPBoQwfCJ3pJjbqHMBvEHCSPF8y7bZ82nj4u

加解密的基本操作,你看一下,主要思路:
把用户名和密码加密,用post或get方法传递到功能页上,功能页把它解密出来,并实现登陆,这个应该不难吧?

这里说几个功能要点:一、功能页要学会识别数据,即数据哪里来的,安不安全。第二加密要安全,不能被人破解。三、如果出现用户名和密码对不上怎么办。四、防止有人注入。五、登陆实现后跳转要快,用JS写出跳转,别用response。

大哥我就是说你认为不难的部分我不会啊!加密解密我会的……主要问题在用post或get方法传递到功能页实现登陆上啊!



你随便弄个网站登录给我  我帮你试试  给你dom

网站是用phpthink做的,不好弄过来啊!还连着数据库……要不加QQ吧117163304

#14


引用 12 楼 wawd74520 的回复:
Quote: 引用 11 楼 danding_ge 的回复:

Quote: 引用 10 楼 jimil 的回复:

http://wenku.baidu.com/link?url=Vh78mzj7x1P5rDp037yV7iOO1fQgdJ1HoX_KKOk4A8pt-NImKOJoLV3RHjR_CL0Ue0zxZDbiPBoQwfCJ3pJjbqHMBvEHCSPF8y7bZ82nj4u

加解密的基本操作,你看一下,主要思路:
把用户名和密码加密,用post或get方法传递到功能页上,功能页把它解密出来,并实现登陆,这个应该不难吧?

这里说几个功能要点:一、功能页要学会识别数据,即数据哪里来的,安不安全。第二加密要安全,不能被人破解。三、如果出现用户名和密码对不上怎么办。四、防止有人注入。五、登陆实现后跳转要快,用JS写出跳转,别用response。

大哥我就是说你认为不难的部分我不会啊!加密解密我会的……主要问题在用post或get方法传递到功能页实现登陆上啊!



你随便弄个网站登录给我  我帮你试试  给你dom
马上下班了,明天再说吧=。=

推荐阅读
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
author-avatar
大坑啊同志
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有