url编码与解码工具附代码

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

url编码与解码工具附代码

url编码与解码工具附代码,代码很简单,做sql注入分析时经常用到,但一时又找不到,就写了一个

代码部分:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, HTTPApp;

type

TForm1 = class(TForm)

Button1: TButton;

Memo1: TMemo;

Memo2: TMemo;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

function URLEncode(const msg : String) : String;

function GetMemoText(memo:TMemo):string;

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

i: Integer;

ss: string;

begin

ss := GetMemoText(Memo1);

Memo1.Text :=ss;

Memo2.Clear;

for i := 1 to Length(ss) do

begin

Memo2.Text := Memo2.Text + '%' + IntToHex(Ord(ss), 2);

end;

end;

function TForm1.URLEncode(const msg: String): String;

var

I : Integer;

begin

Result := '';

for I := 1 to Length(msg) do begin

if msg[I] = ' ' then

Result := Result + '+'

else if msg[I] in ['a'..'z', 'A'..'Z', '0'..'9'] then

Result := Result + msg[I]

else

Result := Result + '%' + IntToHex(ord(msg[I]), 2);

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

var ss:string;

begin

Memo2.Clear;

ss :=GetMemoText(Memo1);

Memo1.Text :=ss;

Memo2.Text :=HTTPDecode(trim(ss));

end;

function TForm1.GetMemoText(memo: TMemo): string;

var i:integer;

begin

for i:=0 to memo.Lines.Count-1 do

begin

Result :=Result + trim(memo.Lines);

end;

end;

end.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航