专栏首页smh的技术文章关于网站通信中Cookie的重要性

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

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

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

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

举例:

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

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

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

 /// <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。然后我们获取这个地址的网页源代码返回。

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-------------

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CSS功能强大的选择器

    小明爱学习
  • ASP.NET之预编译

    预编译好处:自然是很多的,比如比起动态编译,第一次访问的响应速度肯定是要快的,此外,还可以保护源代码,比如我们网站开发好之后,需要发送给别人部署,我们又不想别人...

    小明爱学习
  • 计算机中的运算是如何产生的呢?

    比如当前要执行一个加法的运算,就发送一个加法指令给计算机,计算机的功能也就改变了。

    小明爱学习
  • Document.cookie

    JavaEdge
  • Jmeter接口测试实战-有趣的cookie

    接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点...

    louiezhou001
  • Python的Cookie详解

    CookieJar——>派生——>FileCookieJar——>派生——>MozillaCookieJar和LwpCookieJar

    py3study
  • Cookie——客户端存储

    cookie API 是通过document.cookie属性来实现的。cookie是存储在访问者的计算机中的变量,与页面相关联。

    Html5知典
  • selenium webdriver 如何添加cookie

    从中可以看出add_cookie()这个函数有一个参数cookie_dict,它是以字典的形式传入的,字典中必选的键是"name"和"value",可选的键是"...

    forxtz
  • Cookie 和 Session 的使用简记

    http://mertensming.github.io/2016/10/19/cookie-session/

    bear_fish
  • 前端须知的 Cookie 知识小结

    cookie 是服务器端保存在浏览器的一小段文本信息,浏览器每次向服务器端发出请求,都会附带上这段信息(不是所有都带上,具体的下文会介绍)

    GopalFeng

扫码关注云+社区

领取腾讯云代金券