Idhttp Post 服务器接收不到数据,求原因

春华-秋实 2013-04-19 09:50:55
小弟往服务器post 编码过的数据,结果服务器接收不到,不知道post的格式哪里不对了,求指点,代码如下
编码函数如下
AnsiString __fastcall URLEncodeT(AnsiString& inStr)
{
char hex[] = "0123456789ABCDEF";
AnsiString dst;
AnsiString src = inStr;
for (int i = 1; i <= src.Length(); ++i)
{
//ShowMessage(IntToStr(i));
char cc = src[i];
if(cc == ' ')
{
dst += '+';
}else if(cc >= 'A' && cc <= 'Z'){
dst += cc;
}else if(cc >= 'a' && cc <= 'z'){
dst += cc;
}else if(cc >= '0' && cc <= '9'){
dst += cc;
}else if(cc == '-' || cc == '.' || cc == '!'|| cc == '_' || cc == '~' || cc == '*' || cc == '\'' || cc == '(' || cc == ')' ){
dst += cc;
}else{
char c = static_cast<unsigned char>(src[i]);
dst += '%';
dst += hex[c / 16];
dst += hex[c % 16];
}
}
return dst;
}

正文如下

Url = "http://172.21.4.138:8080/UnionUpdate/UnionUpdateService";

ClientVersion = "KABW900+_CH.2.02.002";
request = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Request><RequestType>mobileVersion</RequestType><MobileVersionParams><OpType>verifyRom</OpType><ClientVersion>"+ClientVersion+"</ClientVersion><RomSize>12345678</RomSize><UserName></UserName><SystemOuterVersion></SystemOuterVersion><FileType>img</FileType><CustomizationType>cmcc</CustomizationType><Paramater1></Paramater1><Paramater2></Paramater2><Paramater3></Paramater3></MobileVersionParams><OtherParams></OtherParams></Request>";

AnsiString sa = URLEncodeT(request);

TStringList *params = new TStringList();
AnsiString param = "param";
params->Add((param+"="+sa));
TStringStream *returnString=new TStringStream("");
try
{
IdHTTP1->Post(Url,params,returnString);
}
catch(...)
{
ShowMessage("服务器连接错误,无法检测升级包的合法性!");
}
delete params;
delete returnString;
...全文
165 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
春华-秋实 2013-04-19
  • 打赏
  • 举报
回复
引用 1 楼 ksrsoft 的回复:
你搜一下 idHTTP1实现自动登录 的例子比较一下
搜了下,看到不是dephi的就是pascal的,你专栏里的那个我没看懂,我这个code里哪里错了,能指出来吗?谢谢了~
缘中人 2013-04-19
  • 打赏
  • 举报
回复
你搜一下 idHTTP1实现自动登录 的例子比较一下

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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