IdHTTP GET方法,怎样转换URL中的参数

w7 2012-09-09 10:07:26
比如空格在URL中要转换成 +
比如a='a b c';
放到URL中应该是
http://abc.com/abc.php?p=a+b+c

idhttp提供了转换URL参数的方法吗?
...全文
293 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzca 2012-09-10
  • 打赏
  • 举报
回复
a b c ,123,98yujsdf!@##^%%^&--中文123
-----------------》
a+b+c+%2C123%2C98yujsdf!@%23%23%5E%25%25%5E%26--%D6%D0%CE%C4123
wzca 2012-09-10
  • 打赏
  • 举报
回复
上面那是从D7里找出来的,好象对中文操作有问题。
小改了一下
function EnCode(ACode: string): string;
var
I: Integer;
Hex: string;
Code: AnsiString;
begin
Code := AnsiString(ACode);
for I := 1 to Length(Code) do
case Code[i] of
' ': Result := Result + '+';
'A'..'Z', 'a'..'z', '*', '@', '.', '_', '-',
'0'..'9', '$', '!', '''', '(', ')':
Result := Result + Code[i];
else
begin
Hex := IntToHex(ord(Code[i]), 2);
if Length(Hex) = 2 then
Result := Result + '%' + Hex
else
Result := Result + '%0' + hex;
end;
end;
end;
wzca 2012-09-10
  • 打赏
  • 举报
回复
很容易,看俺写的函数
function EnCode(Code: string): string;
var
I: Integer;
Hex: string;
begin
for I := 1 to Length(Code) do
case Code[i] of
' ': Result := Result + '+';
'A'..'Z', 'a'..'z', '*', '@', '.', '_', '-',
'0'..'9', '$', '!', '''', '(', ')':
Result := Result + Code[i];
else
begin
Hex := IntToHex(ord(Code[i]), 2);
if Length(Hex) = 2 then
Result := Result + '%' + Hex
else
Result := Result + '%0' + hex;
end;
end;
end;
Forever_Young 2012-09-09
  • 打赏
  • 举报
回复
引用 iduri


uese idURI


a:='a b c';
url:='http://abc.com/abc.php?p='+TIdURI.ParamsEncode(a);

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧