Noe Codesss

Embed Size (px)

DESCRIPTION

sssssssss

Citation preview

unit NOE;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPServer, IdMappedPortTCP, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; IdMappedPortTCP1: TIdMappedPortTCP; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure IdMappedPortTCP1Execute(AThread: TIdMappedPortThread); procedure IdMappedPortTCP1OutboundConnect(AThread: TIdMappedPortThread; AException: Exception); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginIdMappedPortTCP1.Bindings.Add.Ip:='127.0.0.1';IdMappedPortTCP1.Bindings.Add.Port:=StrToInt('8080');IdMappedPortTCP1.MappedHost:='128.199.215.153';IdMappedPortTCP1.MappedPort:=StrToInt('80');IdMappedPortTCP1.Active:=True;Button1.Enabled:=False;Button2.Enabled:=True;end;procedure TForm1.Button2Click(Sender: TObject);beginIdMappedPortTCP1.Active:=False;IdMappedPortTCP1.Bindings.Clear;Button1.Enabled:=True;Button2.Enabled:=False;end;procedure TForm1.IdMappedPortTCP1Execute(AThread: TIdMappedPortThread);varESIND:string;beginESIND:='HEAD http://app.axisworld.co.id/ HTTP/1.1'#13#10#13#10 +'User-Agent: Mozilla/5.0 (Windows NT6.1; rv:14.0) Gecko/20100101 Firefox/14.0+ Host: app.axisworld.co.id #13#10#13#10+Connection: Keep-Alive'#13#10#13#10+athread.NetData;if pos('CONNECT',athread.NetData) 0 then athread.NetData:=athread.NetData+ESIND;if Pos (' #13#10#13#10,#13#10', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,#13#10#13#10,#13#10,[rfReplaceAll]);if Pos (' 405 Method Not Allowed', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,' 405 Method Not Allowed',' 200 OK',[rfReplaceAll]); end;if Pos (' 408 Request Time-out', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,' 408 Request Time-out',' 200 OK',[rfReplaceAll]); end;if Pos (' 400 Bad Request', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,' 400 Bad Request',' 200 OK',[rfReplaceAll]); end;if Pos (' 403 Forbidden', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,' 403 Forbidden',' 200 OK',[rfReplaceAll]); end;if Pos (' 302 Found', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,' 302 Found',' 200 OK',[rfReplaceAll]); end;if Pos (' 302 Found 200', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,' 302 Found 200',' 200 OK',[rfReplaceAll]); end;if Pos (' 404 Not Found', AThread.NetData) 0 then begin AThread.NetData := StringReplace(AThread.NetData,' 404 Not Found',' 200 OK',[rfReplaceAll]); end;end;procedure TForm1.IdMappedPortTCP1OutboundConnect(AThread: TIdMappedPortThread; AException: Exception);beginAThread.NetData := StringReplace(AThread.NetData,#13#10#13#10,#13#10,[rfReplaceAll]);AThread.NetData := StringReplace(AThread.NetData,' 405 Method Not Allowed',' 200 OK',[rfReplaceAll]);AThread.NetData := stringreplace(AThread.NetData,' 403 Forbidden',' 200 OK',[rfReplaceAll]);AThread.NetData := StringReplace(AThread.NetData,'HTTP/1.1 302 Found','HTTP/1.1 200 Ok',[rfReplaceAll, rfIgnoreCase]);AThread.NetData := StringReplace(AThread.NetData,' 400 Bad Request',' 200 OK',[rfReplaceAll]);AThread.NetData := StringReplace(AThread.NetData,' 403 Forbidden',' 200 OK',[rfReplaceAll]);AThread.NetData := StringReplace(AThread.NetData,' 302 Found',' 200 OK',[rfReplaceAll]);AThread.NetData := StringReplace(AThread.NetData,' 302 Found 200',' 200 OK',[rfReplaceAll]);AThread.NetData := StringReplace(AThread.NetData,' 404 Not Found',' 200 OK',[rfReplaceAll]);AThread.NetData := StringReplace(AThread.NetData,' 408 Request Time-out',' 200 OK',[rfReplaceAll]);end;end.