結局Janeのソースからコピペしました
Indy弄るの飽きてきた
URLエンコードやエスケープと呼ばれていたものは
RFC3986でパーセントエンコーディングという呼び方に決まったそうです
全体をパーセントコーディングすると「ユーザー情報を消失しました」とでるので
=の右辺だけ変換するようにして完成
今回はTClientSocketじゃなくてわざわざIndyを使うメリットなかったなぁ
function URLEncode(const str: string): string;
var
s: string;
i: integer;
begin
s := '';
for i := 1 to length(str) do
begin
case str[i] of
'0'..'9','A'..'Z','a'..'z':
s := s + str[i];
else
s := s + Format('%%%2.2X', [Ord(str[i])]);
end;
end;
result := s;
end;
ソースと実行ファイル
http://vipperup.orz.hm/miniup/src/viup0403.zip