DataSnap的REST服务器ServerMethod参数编码问题

在delphi xe下测试REST Server,其中有个ReverseString服务器函数,就是把一个传入的字串翻转。用DataSnap调用是:

然而用http get来调用时却要注意参数的编码:

在对参数编码时,有两个现成的函数:

1、IdURI.pas的TIdURI.ParamsEncode

    这个函数里面把需要转义的字符定义为: UnsafeChars: TIdUnicodeString = '*<>#%"{}|/^[]`';  {do not localize}
但是这样不够,这两个字符没有包括:/?,如果参数中有这些字符,结果就不对了,或者导致调用失败。修改这个函数把这两个字符加上,就可以了。

 

2、httpApp.pas的HTTPEncode

首先,这个函数的参数是ansistring,其次,里面把空格转成加号,不能满足需要。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火星牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值