TIdHTTP 网络通讯问题 ( 积分: 200 )

  • 主题发起人 主题发起人 ykxiong1
  • 开始时间 开始时间
Y

ykxiong1

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TIdHTTP组建发送一个流给JAVA写的服务器,服务器能收到我发的头信息,我也可以收到服务器返回的流,但服务器却收不到我发的流数据,不知道那位做过,是什么参数没有设置对还是什么原因,下面是发送的主要代码:
Response: TStream;
Source: TStream;
ResultSource: TMemoryStream;
http: TIdHTTP;
begin
InitializationComm;
http := TIdHTTP.Create(Application);
try
http.Request.CustomHeaders.values['PUB_VER'] := '1.1';
Response := TStringStream.Create('');
Source := TMemoryStream.Create;
ResultSource := TMemoryStream.Create;
try
Source.WriteBuffer(aryBody, iBodyPos); //写入流,已检验里面有数据且正确
try
HTTP.Post('http://192.168.1.241:7001/pre/oclcservlet', Source, Response); //192.168.1.241 211.137.203.113
except
application.MessageBox('请检测网络连接!','提示',mb_ok);
Source.Free;
Response.Free;
exit;
end;
finally
Source.Free;
Response.Free;
//HTTP.Free;
//SSL.Free;
end;
except
end;
 
没人回答,分都散不出去
 
HTTP协议规定发送不可见流数据需要首先编码,并构建特殊的HTTP头结构。编码类似于Base64这样的明文发送。具体曾经看过代码,但是现在找不到,楼主去搜一下看看,Google上应该搜的到。关键字就写HTTP Post File
 
to zqw0117
呵呵,问题早就解决了,找个散分,你比较幸运
 
帮你顶一个,接个分
 
后退
顶部