读书人

wireshark缉获的数据是一样的为何不

发布时间: 2012-08-21 13:00:21 作者: rapoo

wireshark抓获的数据,是一样的为何不认为是HTTP包?



//登陆*****************************************
CString login;
SOCKET kuaisocket;
kuaisocket=Connect("kuapi.youku.com",80);//kuai.youku.com
login=StufferHead("GET", location);
char recvcookie[RECV_LENGTH]={0};
SendHTTPMsg(kuaisocket,login,recvcookie);
SaveCookie(recvcookie);
Analysis(recvcookie);
login.Empty();

SOCKET kuaisocket2;
kuaisocket2= Connect("kuapi.youku.com",80);
CString cookie;
cookie.Format("Cookie: %s;%s;%s;%s;%s;..",m_YKSID,m_user,m_yktk,m_logintime,m_l_lgi);
login=StufferHead("GET","http://kuapi.youku.com/api_isLogin",cookie);
char recvuserdata[RECV_LENGTH]={0};
SendHTTPMsg(kuaisocket2,login,recvuserdata);
login.Empty();

为什么用wireshark看的时候自己的程序就不被认为发的HTTP包呢?
少了一行。难道Cookie不是这么添加的?
CString HeadData;
if(!method.CompareNoCase("GET")){
HeadData+="GET /";
HeadData+=strURL;
HeadData+=" HTTP/1.1\x0d\n";
HeadData+="Host: ";
HeadData+=strHost;
HeadData+="\x0d\n";
HeadData+="Accept: */*\x0d\n";
if(!Cookie.IsEmpty())
{
HeadData+=Cookie;
}
HeadData+="\x0d\x0a";
}

[解决办法]
请求最后一个应该以 "\r\n\r\n"结尾吧
[解决办法]
楼上的已经有人指出了,你的包最后结束符有问题,标准的是0d 0a 0d 0a 你的是2e 2e 0d 0a

读书人网 >VC/MFC

热点推荐