首页 > 技术文章 > C/C++ http协议加载sessionID

gongxijun 2015-10-19 20:59 原文

       很多时候,使用一个既定的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\r\n";
 8         header += "Host: ";
 9         header += host;
10         header += "\r\n";
11         header += "Connection: Keep-Alive\r\n";
12         header += "Accept: */*\r\n";
13         header += "Pragma: no-cache\r\n";
14         header += "Cookie: PHPSESSID=";    //手动加载cookie
15         header +=SessID;
16         header +=";path=/";
17         header += "\r\n";
18         header += "Content-Type: multipart/form-data;boundary=71b23e4066ed\r\n";

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

推荐阅读