|
最近学了POST的课程想做一个自动登录彩票网自动买彩票的玩玩,随便找了个网站https://sdftu.com/
登录是成功的,包体为
登录包体
- POST https://sdftu.com/api/auth/login HTTP/1.1
- Host: sdftu.com
- Connection: keep-alive
- Content-Length: 313
- Accept: */*
- Origin: https://sdftu.com
- X-Requested-With: XMLHttpRequest
- User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2970.0 Safari/537.36
- Content-Type: application/vnd.sc-api.v1.json
- Referer: https://sdftu.com/user/login
- Accept-Encoding: gzip, deflate, br
- Accept-Language: zh-CN,zh;q=0.8
- Cookie: isLogin=true; pmode_selected_value=2; u=yjjdick; _sessionHandler=62bd4afe8d6e01c064fff4cf093fdca2358586af; order_index=index; order_cqssc=cqssc; sound=on; __utmt=1; __utma=221961050.299333369.1535695515.1535889828.1535894227.5; __utmb=221961050.8.10.1535894227; __utmc=221961050; __utmz=221961050.1535695515.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmv=221961050.|1=version=2.0=1
- {"username":"yjjdick","password":"xxx","validcode":"","loginpass":"xxx","nonce":"b6799f77a363779bb12eb5f99b12c68c"}
复制代码
买彩票的包体
- POST https://sdftu.com/lottery/?controller=game&action=play HTTP/1.1
- Host: sdftu.com
- Connection: keep-alive
- Content-Length: 690
- Accept: */*
- Origin: https://sdftu.com
- X-Requested-With: XMLHttpRequest
- User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2970.0 Safari/537.36
- Content-Type: application/x-www-form-urlencoded
- Referer: https://sdftu.com/lottery/cqssc
- Accept-Encoding: gzip, deflate, br
- Accept-Language: zh-CN,zh;q=0.8
- Cookie: isLogin=true; pmode_selected_value=2; u=yjjdick; _sessionHandler=62bd4afe8d6e01c064fff4cf093fdca2358586af; order_index=index; __utma=221961050.299333369.1535695515.1535889828.1535894227.5; __utmb=221961050.7.10.1535894227; __utmc=221961050; __utmz=221961050.1535695515.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmv=221961050.|1=version=2.0=1; order_cqssc=cqssc; sound=on; modes=3
- lotteryid=1&curmid=50&poschoose=&flag=save&play_source=&pmode=2<_project_modes=3<_project%5B%5D=%7B'type'%3A'digital'%2C'methodid'%3A30%2C'codes'%3A'%7C%7C%7C%7C5%266%267%268%269'%2C'menuid'%3A78%2C'nums'%3A5%2C'omodel'%3A2%2C'times'%3A1%2C'money'%3A0.1%2C'mode'%3A3%2C'desc'%3A'%5B%E5%AE%9A%E4%BD%8D%E8%83%86_%E5%AE%9A%E4%BD%8D%E8%83%86%5D+%5B%E5%AE%9A%E4%BD%8D%E8%83%86_%E5%AE%9A%E4%BD%8D%E8%83%86%5D+-%2C-%2C-%2C-%2C56789'%7D<_trace_assert=no<_issue_start=20180902-093<_total_nums=5<_total_money=0.1<_trace_times_margin=1<_trace_margin=50<_trace_times_same=1<_trace_diff=1<_trace_times_diff=2<_trace_count_input=10<_trace_money=0&randomNum=1628&username=yjjdick
复制代码
代码
- // TODO: 在此添加控件通知处理程序代码
- CoInitialize(NULL);
-
- HRESULT hr = pHttpReq.CreateInstance(__uuidof(WinHttpRequest));
- if (FAILED(hr)) return;
-
- hr = pHttpReq->Open(_T("POST"), _T("https://sdftu.com/api/auth/login"));
- if (FAILED(hr)) {
- CoUninitialize();
- return;
- }
- pHttpReq->SetRequestHeader(_T("Content-Type"), _T("application/json"));
- CString strBody;
- strBody.Format(_T("{"username":"yjjdick","password":"xxx","validcode":"","loginpass":"xxx ","nonce":"7a1721ff4b0d91ea15a289091c411443"}"));
- //
- COleVariant varBody;
- varBody = strBody;
- // pHttpReq->Option[WinHttpRequestOption_EnableRedirects] = VARIANT_FALSE;
- hr = pHttpReq->Send(varBody);
- if (FAILED(hr)) {
- CoUninitialize();
- return;
- }
-
- //CString strRsp = pHttpReq->ResponseText;
- //CString strCntBuffer;
- //Get_WinHttp_RspString(pHttpReq, strCntBuffer);
- //_bstr_t bstrAllHeader = pHttpReq->GetAllResponseHeaders();
- hr = pHttpReq->Open(_T("POST"), _T("https://sdftu.com/lottery/?controller=game&action=play"));
- if (FAILED(hr)) {
- CoUninitialize();
- return;
- }
- pHttpReq->SetRequestHeader(_T("Content-Type"), _T("application/x-www-form-urlencoded"));
- //CString cstr = _T("isLogin=true; pmode_selected_value=2; u=yjjdick; _sessionHandler=62bd4afe8d6e01c064fff4cf093fdca2358586af; order_index=index; __utma=221961050.299333369.1535695515.1535889828.1535894227.5; __utmb=221961050.7.10.1535894227; __utmc=221961050; __utmz=221961050.1535695515.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmv=221961050.|1=version=2.0=1; order_cqssc=cqssc; sound=on; modes=3");
- //pHttpReq->SetRequestHeader(_T("Cookie"), cstr.AllocSysString());
- CString strBody1=_T("lotteryid=1&curmid=50&poschoose=&flag=save&play_source=&pmode=2<_project_modes=3<_project%5B%5D=%7B'type'%3A'digital'%2C'methodid'%3A30%2C'codes'%3A'%7C%7C%7C%7C5%266%267%268%269'%2C'menuid'%3A78%2C'nums'%3A5%2C'omodel'%3A2%2C'times'%3A1%2C'money'%3A0.1%2C'mode'%3A3%2C'desc'%3A'%5B%E5%AE%9A%E4%BD%8D%E8%83%86_%E5%AE%9A%E4%BD%8D%E8%83%86%5D+%5B%E5%AE%9A%E4%BD%8D%E8%83%86_%E5%AE%9A%E4%BD%8D%E8%83%86%5D+-%2C-%2C-%2C-%2C56789'%7D<_trace_assert=no<_issue_start=20180902-093<_total_nums=5<_total_money=0.1<_trace_times_margin=1<_trace_margin=50<_trace_times_same=1<_trace_diff=1<_trace_times_diff=2<_trace_count_input=10<_trace_money=0&randomNum=4512&username=yjjdick");
- varBody = strBody1;
- hr = pHttpReq->Send(varBody);
- if (FAILED(hr)) {
- CoUninitialize();
- return;
- }
-
- CString strRsp1 = pHttpReq->ResponseText;
- MessageBox(strRsp1);
- //CWinHttpRequest *pHttpReq = new CWinHttpRequest();
- //BOOL bRet = pHttpReq->CreateDispatch(_T("WinHttp.WinHttpRequest.5.1"));
- //if (!bRet) return;
- //COleVariant Async = VARIANT_FALSE;
- //pHttpReq->Open(_T("GET"), _T("http://www.baidu.com"), Async);
- //pHttpReq->Send(vtMissing);
- //CString strRsp = pHttpReq->get_ResponseText();
- //MessageBox(strRsp);
- //pHttpReq->ReleaseDispatch();
- //delete pHttpReq;
- CoUninitialize();
复制代码
最后结果一直返回我长时间未登录,需要重新登录,感觉session要不没传过去,要不就是他根本不是用session传的
如果session没传过的话我之后又实验了直接去set cookie 也没用,如果不是session去验证登录状态的话,我看了包体内容也没发现类似于带了token的方式,请问这种情况怎么解决?
|
上一篇: 求助syc解决一道题,挺着急的。@syc下一篇: 第52课作业
|