1、request参数排序
2、连接特殊字符串
3、md5
关键字:tv、_sign、HAL$#%^RTYDFGdktsf_)(*^%$
有点意思的是,登录之后返回的cookie保活,然后共享cookie,切ip做心跳访问。人气就起来了,统计ip点不太好。
string makeRequest(string strRoomNumber, string strToken, string strIdent, string strCookie)
{
VMPBegin("fasd");
string strPartOne = "&_appSource=417&_appVersion=2.1.2.5178&_appkey=CSAndroid&_fromPos=5&_fromView=1&_identifier=%s";
string strPartTwo = "&_timestamp=%I64d&roomId=%s&token=%s";
CHAR szPartOneFormat[1000] = { 0 };
wsprintf(szPartOneFormat,
"&_appSource=417&_appVersion=2.1.2.5178&_appkey=CSAndroid&_fromPos=5&_fromView=1&_identifier=%s",
strIdent.c_str());
time64 timestamp = getCurrentTimestamp();
time64 timestamp_gelin = transformToTimestamp(1970, 1, 1, 8, 0, 0, 0);
timestamp -= timestamp_gelin;
CHAR szPartTwoFormat[1000] = { 0 };
wsprintf(szPartTwoFormat,
"&_timestamp=%I64d&roomId=%s&token=%s",
timestamp, strRoomNumber.c_str(), strToken.c_str());
//GET http ://api.chushou.tv/api/room/heartbeat.htm?&_appSource=417&_appVersion=2.1.2.5178&_appkey=CSAndroid&_fromPos=5&_fromView=1&_identifier=4579914607&_sign=29bb59f9c0850af0fcde14b7568efb3b&_timestamp=1479016231601&roomId=2832077&token=c75baf46b7b12dd9gfd89a27 HTTP/1.1
//User - Agent : okhttp / 2.7.2
//Cookie : aliyungf_tc = AQAAAOY2Ohe / SwMAOWhncmGlw5oMDbzm; _i7 = 39ac9a7a7f614eb4bf3d512b4acb3b39
//Accept: */*
//Host: api.chushou.tv
//Proxy-Connection: Keep-Alive
//string strHash = "HAL$#%^RTYDFGdktsf_)(*^%$";
//strHash += szPartOneFormat;
//strHash += szPartTwoFormat;
string strSign = getHashFromNet(string(szPartOneFormat) + szPartTwoFormat);
//unsigned char md5[16] = { 0 };
//string strSign;
//GetMd5((unsigned char *)strHash.c_str(), strHash.length(), strSign, md5);
string strHttpRequest;
strHttpRequest += "GET http://api.chushou.tv/api/room/heartbeat.htm?";
strHttpRequest += szPartOneFormat;
strHttpRequest += "&_sign=";
strHttpRequest += strSign;
strHttpRequest += szPartTwoFormat;
strHttpRequest += " HTTP/1.1\r\n";
strHttpRequest += "User-Agent: okhttp/2.7.2\r\n";
strHttpRequest += "Cookie:"; strHttpRequest += strCookie; strHttpRequest += "\r\n";
strHttpRequest += "Host: api.chushou.tv\r\n";
strHttpRequest += "Proxy-Connection: Keep-Alive\r\n";
strHttpRequest += "\r\n";
VMPEnd();
return strHttpRequest;
}
原文链接