很多时候,使用一个既定的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对网页进行进一步的操作!