本文整理自网络,侵删。
idhttp数据自动编码 RT。idhttp的httpOption,默认为[hoForceEncodeParams],即自动编码参数,但是idhttp自动编码有点小问题,如果参数中有" (空格)",会转成“+”,有加号会转成“ (空格)”,问题来了,如果我想提交一个参数,值为一个MD5值(MD5中很可能有“+”),在自动编码过程中,加号被编码成空格,最终导致参数错误。所以,post参数最好还是自己用函数编码,这样比较放心,附上urlEncode函数:
复制代码function EncodeURL(const InputStr: string): string;var Idx: Integer;begin Result := ''; for Idx := 1 to Length(InputStr) do begin case InputStr[Idx] of 'A'..'Z', 'a'..'z', '0'..'9', '-', '_', '.': Result := Result + InputStr[Idx]; ' ':Result := Result + '%20'; '+':Result := Result + '%2B'; else Result := Result + '%' + SysUtils.IntToHex(Ord(InputStr[Idx]), 2); end; end;end;
相关阅读 >>
Delphi getprocessmemoryinfo获取进程占用内存大小
Delphi setformfullscreen()窗体全屏显示
更多相关阅读请进入《Delphi》频道 >>