• C/C++ http协议加载sessionID


           很多时候,使用一个既定的API虽然可以去完成一些任务,但是还是不如自己写来的那么随性和自由.

    http协议,最常用的get,post两种方式传输数据,关于post,有时候,需要用到加载cookie信息去做一些任务,于是去看了看rfc文档,

    (1)关于cookie加载,我们首先需要弄清楚c/s下,两种模式下的cookie加载方式:

        1、 在服务器端,加载cookie,使用Set-Cookie: SESSIONID =" ";  expries=""GMT;path="/";

               2.   在客服端, 加载cookie,使用 Cookie:  SESSIONID=" " ; path="/"

    (2) 自己动手写http协议的好处就是,可以随意去改,我们想改的内容,而不需要去记住那么的API和参数

    比如: 下面这段客户端加载Cookie的列子:

     1 std::string header("");
     2         std::string content("");        //实名文件
     3         
     4         //----------------------post头开始--------------------------------  
     5         header += "POST ";
     6         header += addr;
     7         header += " HTTP/1.1
    ";
     8         header += "Host: ";
     9         header += host;
    10         header += "
    ";
    11         header += "Connection: Keep-Alive
    ";
    12         header += "Accept: */*
    ";
    13         header += "Pragma: no-cache
    ";
    14         header += "Cookie: PHPSESSID=";    //手动加载cookie
    15         header +=SessID;
    16         header +=";path=/";
    17         header += "
    ";
    18         header += "Content-Type: multipart/form-data;boundary=71b23e4066ed
    ";

      采用这种方式,可以在已经登录的情况下获知cookie直接避免重复登录,而跳过登录而加载cookie对网页进行进一步的操作!

  • 相关阅读:
    ConcurrentHashMap总结
    HashMap在多线程环境下操作可能会导致程序死循环
    oracle数据库的 to char 和to date 区别(时间格式化)
    SQL中的cast()函数用法
    常见的垃圾收集器有3类-java面试一
    mybatis中sql引用
    mysql find_in_set 查询
    用Redis实现微博关注关系的分析
    C#与C++相比较之STL篇(续一)
    Vite2.0 入门
  • 原文地址:https://www.cnblogs.com/gongxijun/p/4892998.html
Copyright © 2020-2023  润新知