url编码与解码工具代码

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 lanyus 的 blog




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.
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.

本文关键:url编码与解码工具代码
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top