use*_*070 1 delphi post httpclient
我正在使用HttpCli组件形式ICS来发送请求.我使用了组件附带的示例.它说:
procedure TForm4.Button2Click(Sender: TObject);
var
Data : String;
begin
Data:='status=no';
HttpCli1.SendStream := TMemoryStream.Create;
HttpCli1.SendStream.Write(Data[1], Length(Data));
HttpCli1.SendStream.Seek(0, 0);
HttpCli1.RcvdStream := TMemoryStream.Create;
HttpCli1.URL := Trim('http://server/something');
HttpCli1.PostAsync;
end;
Run Code Online (Sandbox Code Playgroud)
但事实上,它并没有发送
状态=无
但
statu
我无法理解,问题出在哪里.也许有人可以展示一个例子,如何在HttpCli组件的帮助下发送POST请求?
PS我不能用Indy =)
我想你正在使用Delphi 2009或更高版本,其中string类型包含每个字符两个字节的Unicode数据.该Length函数给出了字符数,而不是字节数,因此当您将字符串放入内存流时,只复制字符串中的一半字节.即使你复制了所有这些,你仍然会在流中有一堆额外的数据,因为每个字符有两个字节,服务器可能只希望得到一个.
使用不同的字符串类型,例如AnsiString或UTF8String.
| 归档时间: |
|
| 查看次数: |
2417 次 |
| 最近记录: |