MFC想要提交数据包,请问怎么修改POST / HTTP/1.1

Thai_ 2018-03-03 10:27:56
如题,使用CInternetSession,CHttpConnection,CHttpFile这三大类提交数据包。我想修改数据包第一行的POST / HTTP/1.1为POST /login!doLogin.action HTTP/1.1,请问怎么修改,百度找了半天没找到。
...全文
595 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Thai_ 2018-03-04
  • 打赏
  • 举报
回复
代码:if (!AfxParseURL(URL, dwServerType, strServer, strObject, nPort))//解析URL失败 return false; CHttpFile *pFile; CInternetSession mysession; CHttpConnection *pConnect = mysession.GetHttpConnection(strServer, nPort);//连接到服务器 if (pConnect == NULL) return false; pFile = pConnect->OpenRequest(CHttpConnection::HTTP_VERB_POST, strObject);//打开http请求 if (pFile == NULL) return false; 为什么这里不用添加pFile->AddRequestHeaders(_T("POST /login!doLogin.action HTTP/1.1,")); pFile->AddRequestHeaders(_T("Host: 59.34.5.197:10080")); pFile->AddRequestHeaders(_T("Connection: keep-alive")); pFile->AddRequestHeaders(_T("Content-Length: 40")); pFile->AddRequestHeaders(_T("Accept: application/json, text/javascript, */*; q=0.01")); pFile->AddRequestHeaders(_T("Origin: http://59.34.5.197:10080")); pFile->AddRequestHeaders(_T("X-Requested-With: XMLHttpRequest")); pFile->AddRequestHeaders(_T("User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.4858.400")); pFile->AddRequestHeaders(_T("QQBrowser/10.0.775.400")); pFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded; charset=UTF-8")); pFile->AddRequestHeaders(_T("Referer: http://59.34.5.197:10080/")); pFile->AddRequestHeaders(_T("Accept-Encoding: gzip, deflate")); pFile->AddRequestHeaders(_T("Accept-Language: zh-CN,zh;q=0.9")); pFile->AddRequestHeaders(_T("")); GetDlgItemText(IDC_PWD, pwd); GetDlgItemText(IDC_NUM, num); log = _T("account=") + num + _T("&pwd=") + pwd + _T("&verifycode="); USES_CONVERSION; //提交数据 pFile->SendRequest(NULL, 0, W2A(log.GetBuffer()), log .GetLength());
Thai_ 2018-03-04
  • 打赏
  • 举报
回复
不行啊,变成这样了: POST / HTTP/1.1 User-Agent: SL Host: 59.34.5.197:10080 Content-Length: 21 Cache-Control: no-cache /.l.o.g.i.n.!.d.o.L.o.g.i.n...a.c.t.i.o.n.POST / HTTP/1.1 User-Agent: SL Host: 59.34.5.197:10080 Content-Length: 21 Cache-Control: no-cache Connection: Keep-Alive 本来应该提交这样的 POST / HTTP/1.1 Host: 59.34.5.197:10080 Connection: keep-alive Content-Length: 40 Accept: application/json, text/javascript, */*; q=0.01 Origin: http://59.34.5.197:10080 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.4858.400 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Referer: http://59.34.5.197:10080/ Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Cache-Control: no-cache 使用vs2017,unicode环境
zgl7903 2018-03-03
  • 打赏
  • 举报
回复
试试 SendRequest 或 SendRequestEx

CString strData = “Some very long data to be POSTed here!”;
pServer = sess.GetHttpConnection("mooseboy");
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST, "/isapi.dll?");
pFile->SendRequestEx(strData.GetLength());
pFile->WriteString(strData);   
pFile->EndRequest();

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧