VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 210|回复: 4

[求助] 利用post去自动登录并发起请求

[复制链接]
06_avatar_middle
online_vip yjjdick 发表于 2018-9-2 23:01:53 | 显示全部楼层 |阅读模式
最近学了POST的课程想做一个自动登录彩票网自动买彩票的玩玩,随便找了个网站https://sdftu.com/
登录是成功的,包体为

登录包体
  1. POST https://sdftu.com/api/auth/login HTTP/1.1
  2. Host: sdftu.com
  3. Connection: keep-alive
  4. Content-Length: 313
  5. Accept: */*
  6. Origin: https://sdftu.com
  7. X-Requested-With: XMLHttpRequest
  8. User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2970.0 Safari/537.36
  9. Content-Type: application/vnd.sc-api.v1.json
  10. Referer: https://sdftu.com/user/login
  11. Accept-Encoding: gzip, deflate, br
  12. Accept-Language: zh-CN,zh;q=0.8
  13. 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

  14. {"username":"yjjdick","password":"xxx","validcode":"","loginpass":"xxx","nonce":"b6799f77a363779bb12eb5f99b12c68c"}
复制代码


买彩票的包体
  1. POST https://sdftu.com/lottery/?controller=game&action=play HTTP/1.1
  2. Host: sdftu.com
  3. Connection: keep-alive
  4. Content-Length: 690
  5. Accept: */*
  6. Origin: https://sdftu.com
  7. X-Requested-With: XMLHttpRequest
  8. User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2970.0 Safari/537.36
  9. Content-Type: application/x-www-form-urlencoded
  10. Referer: https://sdftu.com/lottery/cqssc
  11. Accept-Encoding: gzip, deflate, br
  12. Accept-Language: zh-CN,zh;q=0.8
  13. 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

  14. lotteryid=1&curmid=50&poschoose=&flag=save&play_source=&pmode=2&lt_project_modes=3&lt_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&lt_trace_assert=no&lt_issue_start=20180902-093&lt_total_nums=5&lt_total_money=0.1&lt_trace_times_margin=1&lt_trace_margin=50&lt_trace_times_same=1&lt_trace_diff=1&lt_trace_times_diff=2&lt_trace_count_input=10&lt_trace_money=0&randomNum=1628&username=yjjdick
复制代码


代码

  1. // TODO: 在此添加控件通知处理程序代码
  2.         CoInitialize(NULL);
  3.        
  4.         HRESULT hr = pHttpReq.CreateInstance(__uuidof(WinHttpRequest));
  5.         if (FAILED(hr)) return;
  6.        
  7.         hr = pHttpReq->Open(_T("POST"), _T("https://sdftu.com/api/auth/login"));
  8.         if (FAILED(hr)) {
  9.                 CoUninitialize();
  10.                 return;
  11.         }
  12.         pHttpReq->SetRequestHeader(_T("Content-Type"), _T("application/json"));
  13.         CString strBody;
  14.         strBody.Format(_T("{"username":"yjjdick","password":"xxx","validcode":"","loginpass":"xxx ","nonce":"7a1721ff4b0d91ea15a289091c411443"}"));
  15.         //
  16.         COleVariant varBody;
  17.         varBody = strBody;

  18.         // pHttpReq->Option[WinHttpRequestOption_EnableRedirects] = VARIANT_FALSE;
  19.         hr = pHttpReq->Send(varBody);
  20.         if (FAILED(hr)) {
  21.                 CoUninitialize();
  22.                 return;
  23.         }
  24.        

  25.         //CString strRsp = pHttpReq->ResponseText;

  26.         //CString strCntBuffer;
  27.         //Get_WinHttp_RspString(pHttpReq, strCntBuffer);


  28.         //_bstr_t bstrAllHeader = pHttpReq->GetAllResponseHeaders();

  29.         hr = pHttpReq->Open(_T("POST"), _T("https://sdftu.com/lottery/?controller=game&action=play"));
  30.         if (FAILED(hr)) {
  31.                 CoUninitialize();
  32.                 return;
  33.         }
  34.         pHttpReq->SetRequestHeader(_T("Content-Type"), _T("application/x-www-form-urlencoded"));
  35.         //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");
  36.         //pHttpReq->SetRequestHeader(_T("Cookie"), cstr.AllocSysString());
  37.         CString strBody1=_T("lotteryid=1&curmid=50&poschoose=&flag=save&play_source=&pmode=2&lt_project_modes=3&lt_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&lt_trace_assert=no&lt_issue_start=20180902-093&lt_total_nums=5&lt_total_money=0.1&lt_trace_times_margin=1&lt_trace_margin=50&lt_trace_times_same=1&lt_trace_diff=1&lt_trace_times_diff=2&lt_trace_count_input=10&lt_trace_money=0&randomNum=4512&username=yjjdick");

  38.         varBody = strBody1;

  39.         hr = pHttpReq->Send(varBody);
  40.         if (FAILED(hr)) {
  41.                 CoUninitialize();
  42.                 return;
  43.         }
  44.        
  45.         CString strRsp1 = pHttpReq->ResponseText;
  46.         MessageBox(strRsp1);
  47.         //CWinHttpRequest *pHttpReq = new CWinHttpRequest();
  48.         //BOOL bRet = pHttpReq->CreateDispatch(_T("WinHttp.WinHttpRequest.5.1"));
  49.         //if (!bRet) return;
  50.         //COleVariant Async = VARIANT_FALSE;
  51.         //pHttpReq->Open(_T("GET"), _T("http://www.baidu.com"), Async);
  52.         //pHttpReq->Send(vtMissing);
  53.         //CString strRsp = pHttpReq->get_ResponseText();
  54.         //MessageBox(strRsp);

  55.         //pHttpReq->ReleaseDispatch();
  56.         //delete pHttpReq;


  57.         CoUninitialize();
复制代码


最后结果一直返回我长时间未登录,需要重新登录,感觉session要不没传过去,要不就是他根本不是用session传的
如果session没传过的话我之后又实验了直接去set cookie 也没用,如果不是session去验证登录状态的话,我看了包体内容也没发现类似于带了token的方式,请问这种情况怎么解决?





上一篇:窗口跟随显示问题
下一篇:在子线程调用sendmessage

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-9-3 00:05:45 | 显示全部楼层
session 也是通过http协议中的 cookie 来进行传递的,所以应该还是楼主没设置正确。
抓包对比下浏览器的,看看你们的有什么不同?应该还是有什么 cookie 没设置上,可能需要分析 js 逻辑了。
总之,先抓包对比下浏览器的吧

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

06_avatar_middle
ico_lz  楼主| yjjdick 发表于 2018-9-3 09:19:02 来自手机 | 显示全部楼层
Syc 发表于 2018-9-3 00:05
session 也是通过http协议中的 cookie 来进行传递的,所以应该还是楼主没设置正确。
抓包对比下浏览器的, ...

不知道老大还上QQ吗,我QQ给你留了言,名字叫软贱工程狮,QQ406123228,老大有空看见了能回一下吗

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-9-3 09:43:29 | 显示全部楼层
yjjdick 发表于 2018-9-3 09:19
不知道老大还上QQ吗,我QQ给你留了言,名字叫软贱工程狮,QQ406123228,老大有空看见了能回一下吗

已回复喽~

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-9-20 19:37

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表