CHttpConnection POST数据格式怎么写

richiezhao 2009-09-18 04:26:20
我用CHttpConnection以post的方式连接web服务器,服务器显示连接上了,但是post的数据deviceName没取到值,以下是我的连接服务器发送请求的代码:
m_HttpServerConn = m_ConnectSession.GetHttpConnection(strServerName,nPort);
m_HttpFile = m_HttpServerConn->OpenRequest(CHttpConnection::HTTP_VERB_POST,
strObject, NULL, 1, NULL, NULL, DWHTTPREQUESTFLAGS);
CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded");
char form[] = "deviceName=aaaaa"; //post发送的参数,但服务端得不到aaaaa这个值。
m_HttpFile->SendRequest(strHeaders,(LPVOID)form,17);
DWORD dwRet;
m_HttpFile->QueryInfoStatusCode(dwRet);

请问这个是怎么回事,是不是我post的数据格式有问题。我的web应用服务器是用tomcat。
...全文
228 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
richiezhao 2009-09-18
  • 打赏
  • 举报
回复
这个刚试过了,不过还是不行,服务端报错了,那个参数能看到,但是参数的值没有。
CoderOfVC 2009-09-18
  • 打赏
  • 举报
回复

pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST, //请求服务器
strObject,NULL,1,
NULL,NULL,INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_RELOAD);
if(pFile == NULL) //如果请求失败的话
{
SetLastErrorMsg();
return CF_RET_NETERROR;
}
pFile -> AddRequestHeaders("Content-Type: application/x-www-form-urlencoded");
pFile -> AddRequestHeaders("Accept: */*");
pFile -> SendRequest(NULL, 0, (LPTSTR)(LPCTSTR)strPostData, strPostData.GetLength()); //POST数据

BOOL bSuccess = pFile->QueryInfo( //查询POST操作是否成功
HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,
&dwStatus, &dwBuffLen);



我用的一些代码,看有没有帮助
MoXiaoRab 2009-09-18
  • 打赏
  • 举报
回复
CInternetSession   m_winet(NULL,1,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);   
CHttpConnection *pConnection;
CHttpFile *pFile;
pConnection = m_winet.GetHttpConnection("expert.csdn.net");

CString strHeaders, tempStr,str;
str="name=*******&pass=******&type=1";
//strHeaders = _T("Content-Type: application/x-www-form-urlencoded");

pFile=pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,
"/member/logon.asp");
pFile->AddRequestHeaders("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*");
pFile->AddRequestHeaders("User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
pFile->AddRequestHeaders("Content-Type: application/x-www-form-urlencoded");
pFile->SendRequest(
NULL,0,
(LPVOID)(LPCTSTR)str, str.GetLength());

fangle6688 2009-09-18
  • 打赏
  • 举报
回复
你的HTTP头不对啊
CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded");
这句相当于将HTTP头里的其他信息都覆盖了

你应该是希望在http头里面加这一行,用m_HttpFile->AddRequestHeaders(。。。)

然后m_HttpFile->SendRequest(NULL,0,(LPVOID)form,17);
内容概要:本文系统研究了基于雅可比伪逆迭代的双臂协同轨迹规划与跟踪误差收敛性问题,结合机械臂正向与逆向运动学建模、蒙特卡洛法分析工作空间、笛卡尔空间内的圆弧轨迹生成等关键技术,利用Matlab实现了双臂系统的协同控制与轨迹跟踪仿真。重点探讨了雅可比矩阵伪逆法在解决冗余自由度机械臂逆运动学问题中的应用,深入分析了轨迹跟踪过程中误差的收敛特性,并通过仿真实验验证了该方法在复杂任务场景下的有效性、稳定性与鲁棒性,为多臂机器人在工业自动化、精密操作等领域的协同作业提供了理论依据与技术支持。; 适合人群:具备机器人学、自动控制理论基础及Matlab编程能力的科研人员与工程技术人员,特别适合从事机械臂控制、轨迹规划、多机器人协同等方向的硕士、博士研究生及相关领域研究人员。; 使用场景及目标:①掌握基于雅可比伪逆法的机械臂逆运动学求解原理与实现方法;②理解双臂系统在笛卡尔空间中协同轨迹规划的机制;③分析并优化轨迹跟踪过程中的误差收敛性能;④为多机器人系统在复杂动态环境下的高精度协同控制提供算法设计与仿真验证支持。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,按照文档目录循序渐进地学习,重点关注算法实现细节、仿真参数设置与结果分析部分,同时可进一步探索将智能优化算法或深度学习方法引入轨迹规划与误差补偿的研究方向。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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