前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于网站通信中Cookie的重要性

关于网站通信中Cookie的重要性

作者头像
小明爱学习
发布2019-01-07 16:35:05
6380
发布2019-01-07 16:35:05
举报
文章被收录于专栏:smh的技术文章smh的技术文章

大家应该都知道Cookie,在我看来Cookie分两种,一种是存储数据,另外一种是保持连接状态,我们主要谈第二种。

先说第一种:这就是简单的存储数据了,比如我们做了一个搜索框,每次都要在搜索框下面显示出用户以前搜索过的关键词,这种情况下我们就可以把用户每次搜索的值存入cookie,然后每次读取cookie显示出来就可以了。

第二种cookie:此类cookie是为了保持和服务器的通信连接,这种cookie一般都是服务器返回cookie,cookie里有唯一标识。然后客户端每次请求都会带有这个cookie,服务器就能由此得到是哪个客户端请求的,由此而来的一系列问题就产生了。

举例:

比如某一网站需要登录,然后一用户登录之后,我们只需要拿到该客户端此网页下的cookie,我们就可以在别处使用获取到的cookie登录此网站。

然后我们用C#代码来通过例子说明下:

首先我们先编写一个Get请求的函数

代码语言:javascript
复制
 /// <summary>
    /// Get请求函数
    /// </summary>
    /// <param name="url">请求地址</param>
    /// <param name="data">cookie</param>
    /// <returns></returns>
    static string GetContent(string url,string data)
    {
        string content;
        HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(url);
        httpRequest.Headers.Add("Cookie",data);
        httpRequest.Referer = url;
        httpRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko";
        httpRequest.Accept = "text/html, application/xhtml+xml, */*";
        httpRequest.ContentType = "application/x-www-form-urlencoded";
        httpRequest.Method = "GET";
        HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
        using (Stream responsestream = httpResponse.GetResponseStream())
        {

            using (StreamReader sr = new StreamReader(responsestream, System.Text.Encoding.UTF8))
            {
                content = sr.ReadToEnd();
            }
        }
        return content;
    }

函数只有两个参数,第一个为请求地址,第二个就是cookie。然后我们获取这个地址的网页源代码返回。

代码语言:javascript
复制
string data = "__guid=108592272.1970508205390738000.1540350263873.1567; ASP.NET_SessionId=uz3pqatk454p0zjl5bzcxxxx";
string url1 = "http://code.sammh.com/Center/index.html";//此地址最好为需要登录过后的地址,这样才可以看出来测试效果
Response.Write(GetContent(url1,data));

大家可以试试,这样就可以直接进入需要登录进入的地址,然后获取网页源代码输出,当然,cookie肯定是登录过后所获取的cookie。

然后我教大家如何获取这个cookie,当然肯定是获取自己的cookie,如果大家想入非非想去获取别人网站的cookie,这个大家自行学习,这里不多阐述。

大家登录了某个网站,进入了页面,然后按F12,选择Network菜单,找到当前的请求,然后点击出现下图:

在红框里的就是cookie,只要拿到此cookie,就可以实现无账号密码登录了,当然这是最简单的cookie,很多大网站对cookie做了很多操作,即使我们拿到了cookie,也不能实现直接登录。

----------End-------------

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年12月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档