Indy正在更改我的URL中的二进制数据

| 我想使用Indy组件通过
GET
发送一些二进制数据。 因此,我有一个网址,如www.awebsite.com/index.php?data=xxx,其中xxx是使用
ParamsEncode
函数编码的二进制数据。编码后,二进制数据将转换为类似ѭ2的内容,因此我的URL类似于:
www.awebsite.com/bB7%18%11z\\
我已经看到,如果我的URL包含反斜杠字符(请参阅URL中的最后一个字符),则在
TIdURI.NormalizePath
中将其替换为斜杠字符(/),因此我的二进制数据已损坏。我究竟做错了什么?
已邀请:
URL中不允许使用反斜杠,并且为避免Windows和* nix系统之间的混淆,所有反斜杠均由斜杠代替,以使内容正常运行。请参阅http://www.faqs.org/rfcs/rfc1738.html第5节,HTTP,httpurl 您可以自己尝试用5来代替反斜杠。 也就是说,您应该尝试使用MIME编码,或者尝试挂起POST请求。
您使用的是Indy的旧版本。反斜杠包含在Indy现在使用的ѭ6列表中。雷米(Remy)于2010年7月在Tiburon分支机构中对其版本4272进行了更改: r4272 | Indy-RemyLebeau | 2010-07-07 03:12:23 -0500(2010年7月7日,星期三)| 1线 TIdURI的内部逻辑发生了变化,并将一些可共享的逻辑移至IdGlobalProtocols.pas中,以供以后在TIdHTTP中使用。 2010年9月,它与Indy 10.5.7其余版本(修订版4394)合并到了行李箱中。

要回复问题请先登录注册