亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? httpproxyextend.pas

?? httpanalyzer, source code for delphi
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
   ret:=true;
  end;
  //showmessage(bufp);

  // 躡erfl黶sige HTTP Header Teile jetzt l鰏chen!

 // if del1=true then begin;

    new_p:=mem_deletestr_nocase(buf_p,buf_s,PCHAR('http:'),5, new_s);
    //if new_p<>nil then  del1:=false;
    if new_s>0 then begin;
      freemem(buf_p,buf_s);
      buf_p:=mem_new(new_p,new_s);
      buf_s:=new_s;
      freemem(new_p,new_s);

    end;
 // end;

 // if del2=true then begin;

    new_p:=mem_deletestr_nocase(buf_p,buf_s,PCHAR('//'),2, new_s);
    if new_s>0 then begin;
      freemem(buf_p,buf_s);
      buf_p:=mem_new(new_p,new_s);
      buf_s:=new_s;
      freemem(new_p,new_s);
      del2:=false;
    end;
 // end;

 // if del3=true then begin;

    new_p:=mem_deletestr_nocase(buf_p,buf_s,PCHAR('\\'),2, new_s);
    if new_s>0 then begin;
      freemem(buf_p,buf_s);
      buf_p:=mem_new(new_p,new_s);
      buf_s:=new_s;
      freemem(new_p,new_s);
      del3:=false;
    end;
 // end;

//  if del4=true then begin;

  if ndests<>'' then begin;
    new_p:=mem_deletestr_nocase(buf_p,buf_s,PCHAR(ndests),length(ndests), new_s);
    if new_s>0 then begin;
      freemem(buf_p,buf_s);
      buf_p:=mem_new(new_p,new_s);
      buf_s:=new_s;
      freemem(new_p,new_s);
      del4:=false;
    end;
  end;
//  end;

  //Do_P1_dbgout('New Header:');
  //Do_P1_dbgout(mem2pchar(buf_p,buf_s));
  buf_p:=On_P1_HeaderModified(buf_p,buf_s);

 { delp_firstonly(bufp,'//');
  delp_firstonly(bufp,'\\'); (* BSP http://login:pass@server.com/members/index *)
  delp_firstonly(bufp,PCHAR(ndests));  // fehlt noch das nocase
  }

  if ftpi>0 then begin;
   userstr:='anonymous';
   pwdstr:='someone@somwehere.com';
   // TODO2 : Login und User aus FTP Request ausholen!!
                     //   ftp://user:pw@ftp.host.com/dir/file.suffix
   On_P1_dbgout('FTP Over HTTP direct to the inet NOT supported yet');
 //  Do_Send1str('HTTP/1.0.200.Gatewaying'+cn);
 //  Do_Send1str('Date Monday,.03-Jan-00'+cn);
 //  Do_Send1str('Content-Type:.text/html.'+cn);
   //Do_Send1str(Content-Length:
   Do_Send1str('<HTML><HEAD><TITLE>FTP Gateway Error</TITLE><HEAD><BODY>FTP Over HTTP is NOT supported yet<br><br> ');
   Do_Send1str('Dest Host: "'+dest_addr+'"<br>');
   Do_Send1str('Dest Port: "'+dest_port+'"<br>');
   param:=copy(ln1,ftpi,length(ln1)-ftpi);
   parami:=pos(dest_addr,param);
   parami2:=pos(' ',param);
   param2:=copy(param,parami+length(dest_addr),parami2-parami-length(dest_addr));
   i3:=length(param2)+1;
   repeat
     dec(i3);
   until (i3=0) or (copy(param2,i3,1)='/');
   //showmessage(inttostr(i3));
   param3:=copy(param2,i3+1,length(param2)-i3+1);
   param2:=copy(param2,1,length(param2)-length(param3));
   if param2='' then param2:='/';
   Do_Send1str('Param3=FTP-File: "'+param3+'"<br>');
   Do_Send1str('Param2=FTP-Dir: "'+param2+'"<br>');
   Do_Send1str('Param: "'+param+'"<br><br>');
   Do_Send1str('USER: "'+userstr+'"<br>');
   Do_Send1str('PASS: "'+pwdstr+'"<br>');
   Do_Send1str('</BODY></HTML>'+cn);
   ret:=false;
   fp1socket.close;
  end;

  search_destaddr:=ret;
end
else search_destaddr:=false;
  end;


procedure THttpProxy.P1_DataAvailable(
    Sender: TObject;
    Error: Word);
var
    Buffer : array [0..4095] of char;
    Count  : Integer;

    new_bufp : pointer;
    new_bufs : longint;

    new_data : pointer; //Daten nach dem sie ueber die Handlerfunktion ver鋘dert werden kann

    dataPacket,dataHeader,dataRest : TMemWeb;
begin
    { Receive as much data as possible }
    Count := FP1Socket.Receive(@Buffer, SizeOf(Buffer)-1);
    On_P1_dbgout(Pchar('P1 Data received ('+inttostr(count)+' Bytes)'));



    if (count>0) then begin;
      //copy buffer to new memory space
      getmem(new_data,count);
      mem_copy(new_data,@buffer, count);
      dataPacket.p:=new_data;
      dataPacket.s:=count;
      dataPacket.init:=true;

      //OnP2DataReceived EVENT
      dataPacket.p:=On_P1_DataAvailable(dataPacket.p,dataPacket.s);

      //(modifiziertes) dataPacket  in den dataAll Stream schreiben
      dataAll_P1.cat(dataPacket);

      if dataPacket.s > 0 then begin;


        if (gotHeader_P1) then begin
          dataPacket.p:=On_P1_Content(dataPacket.p,dataPacket.s);   //streaming-EVENT
        end
        else begin // Header bisher noch nicht empfangen
          if (foundBreak(dataAll_P1,dataHeader,dataRest)) then begin;
            gotHeader_P1:=true;

            //On_P2_dbgout(mem2pchar(dataHeader.p,dataHeader.s));
            //On_P2_dbgout(pchar(mem_show(dataRest.p,dataRest.s)));

            dataHeader.p:=On_P1_Header(dataHeader.p,dataHeader.s); //en bloc-EVENT
            dataRest.p:=On_P1_Content(dataRest.p,dataRest.s);      //streaming-EVENT

            //dataPacket wird aus den R點kgabedaten der Events neu gebildet
            dataPacket.setfrom_mem(dataHeader);
            dataPacket.cat(dataRest);

            dataHeader.free_mem;
            dataRest.free_mem;
          end; //foundBreak
        end; //else gotHeader

      end;  //dataPacket.s>0
        


    { If data received, then process it                                     }
    if dataPacket.s > 0 then begin
        On_P1_dbgout(Pchar('P1 Data received ('+inttostr(dataPacket.s)+' Bytes'));
       // buffer[count]:=#0;
      //  Do_P1_dbgout(buffer);

        if (connected=false)  then begin;
          On_P1_dbgout('P1 not yet connected => write in Sendbuf');
          if buf_init=false then begin
            On_P1_dbgout('P1 INIT SENDBUF');
            getmem(buf_p,dataPacket.s);
            mem_copy(buf_p,dataPacket.p, dataPacket.s);
            buf_init:=true;
            buf_s:=dataPacket.s;
          end
          else begin
            On_P1_dbgout('P1 ADD TO SENDBUF');
            new_bufp:=mem_cat(buf_p,buf_s,dataPacket.p,dataPacket.s,  new_bufs);
            freemem(buf_p,buf_s);

            getmem(buf_p,new_bufs);

            buf_s:=new_bufs;
            mem_copy(buf_p,new_bufp,buf_s);

            freemem(new_bufp, new_bufs);
          end;
         end;


        if got_addr=false then begin;

           look4addr;

        end;

        if (dataPacket.s>0) then begin;
          if connected=true then begin;
            Do_Send2(dataPacket.p,dataPacket.s);
          end;
        end;

        dataPacket.free_mem;
    end; // dataPacket.s > 0

    end; //count>0
end;



///// EVENT CALLER

function THttpProxy.On_P1_Header(p : pointer; VAR s : longint) : pointer;
begin;
  if Assigned(Proc_P1_HttpHeader) then begin
        LockEvents.Acquire;
        try result:=Proc_P1_HttpHeader(self,run_nr,p,s);
        finally LockEvents.Release; end;
  end
  else result:=p;
end;

function THttpProxy.On_P1_HeaderModified(p : pointer; VAR s : longint) : pointer;
begin;
  if Assigned(Proc_P1_HttpHeaderModified) then begin
        LockEvents.Acquire;
        try result:=Proc_P1_HttpHeaderModified(self,run_nr,p,s);
        finally LockEvents.Release; end;
  end
  else result:=p;
end;

function THttpProxy.On_P2_Header(p : pointer; VAR s : longint) : pointer;
begin;
  if Assigned(Proc_P2_HttpHeader) then begin
        LockEvents.Acquire;
        try result:=Proc_P2_HttpHeader(self,run_nr,p,s);
        finally LockEvents.Release;  end;
  end
  else result:=p;
end;

function THttpProxy.On_P2_Content(p : pointer; VAR s : longint) : pointer;
begin;
  if Assigned(Proc_P2_HttpContent) then begin
        LockEvents.Acquire;
        try result:=Proc_P2_HttpContent(self,run_nr,p,s);
        finally LockEvents.Release;  end;
  end
  else result:=p;
end;

function THttpProxy.On_P1_Content(p : pointer; VAR s : longint) : pointer;
begin;
  if Assigned(Proc_P1_HttpContent) then begin
        LockEvents.Acquire;
        try result:=Proc_P1_HttpContent(self,run_nr,p,s);
        finally LockEvents.Release;  end;
  end
  else result:=p;
end;















(*



procedure THttpProxyExtended.logDataP2(p : pointer; VAR s:longint);
begin;
 p2data.cat(p, s);
 //Do_P2_dbgout(PCHAR('logData :'+inttostr(s)));
end;

function THttpProxyExtended.Do_P2_DataAvailable(p : pointer; VAR s : longint) : pointer;
begin;
  logDataP2(p,s);
  result:=inherited Do_P2_DataAvailable(p,s);
end;

procedure THttpProxyExtended.P2_SessionClosed(Sender: TObject; Error: Word);
begin;
 Do_P2_dbgout(PCHAR('SAVE TO FILE '+inttostr(run_nr)+'.dat'));
 if (Assigned(p2data.p)) then
 SaveHtmlCache(p2data.p,p2data.s,inttostr(run_nr)+'.dat');
 inherited;
end;

destructor THttpProxyExtended.destroy;
begin;
  if Assigned(p2data.p) then begin;
    p2data.free_mem;
  end;
  inherited destroy;
end;

*)

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片在线| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲欧美另类久久久精品2019| 欧美精彩视频一区二区三区| 日韩精品一区二区三区视频在线观看| 欧美男人的天堂一二区| 欧美三级电影在线看| 在线观看免费亚洲| 欧美视频一二三区| 欧美日韩久久一区| 欧美一区二区三区四区高清| 欧美人狂配大交3d怪物一区| 欧美日本免费一区二区三区| 欧美一级高清片| 亚洲精品一区在线观看| 久久久久久久精| 国产精品福利一区| 亚洲精品一卡二卡| 五月婷婷激情综合网| 日韩精品乱码免费| 韩国三级电影一区二区| 国产一区二区毛片| 99久久免费国产| 欧美视频三区在线播放| 欧美一区二区视频在线观看2020| 日韩免费视频一区| 中文av字幕一区| 亚洲最色的网站| 久久精品国产亚洲a| 国产精品123| 色综合天天综合网天天狠天天 | 欧美视频一二三区| 日韩欧美国产三级| 亚洲国产岛国毛片在线| 亚洲免费三区一区二区| 日韩精品乱码免费| 国产成人午夜视频| 欧美性欧美巨大黑白大战| 日韩美女主播在线视频一区二区三区 | av不卡免费在线观看| 精品视频999| 欧美成人在线直播| 亚洲欧美日韩国产一区二区三区 | 激情五月婷婷综合| 91在线视频18| 日韩欧美国产系列| 亚洲精品欧美激情| 国内精品国产三级国产a久久| 99精品国产热久久91蜜凸| 欧美日韩中字一区| 国产欧美日韩另类视频免费观看| 一区二区三区四区乱视频| 免费三级欧美电影| 91色在线porny| 精品欧美一区二区三区精品久久| 成人免费一区二区三区在线观看| 亚洲va欧美va天堂v国产综合| 国产成人午夜视频| 91精选在线观看| 国产精品成人免费在线| 99精品视频在线免费观看| 欧美一区二区三区免费观看视频| 国产精品理伦片| 久久精品国产亚洲aⅴ| 欧美在线一二三| 国产人妖乱国产精品人妖| 日韩不卡在线观看日韩不卡视频| www.亚洲色图.com| 欧美成人aa大片| 亚洲妇女屁股眼交7| 成人app网站| 久久无码av三级| 日韩电影一二三区| 色综合久久88色综合天天6 | 午夜电影网一区| 91美女片黄在线观看| 国产亚洲女人久久久久毛片| 婷婷六月综合网| 欧美在线免费播放| 中文字幕一区二区在线观看| 激情久久五月天| 欧美一区二区三区视频免费| 亚洲在线中文字幕| 日本乱人伦aⅴ精品| 成人免费在线视频| 本田岬高潮一区二区三区| 久久综合精品国产一区二区三区| 免费成人在线观看视频| 欧美美女直播网站| 亚洲一区二区精品视频| 色综合网色综合| 亚洲人亚洲人成电影网站色| 国产suv精品一区二区三区| 精品国产网站在线观看| 免费人成网站在线观看欧美高清| 欧美日本不卡视频| 亚洲成人av福利| 3d动漫精品啪啪1区2区免费 | 一本到不卡免费一区二区| 日韩美女视频一区| 99久久99久久精品国产片果冻| 国产欧美一区二区三区沐欲 | 精品成a人在线观看| 精品一二三四区| 精品久久久久一区| 久久99精品国产91久久来源| 欧美大片免费久久精品三p| 蜜桃传媒麻豆第一区在线观看| 欧美一区二区三区在线| 日本美女一区二区三区视频| 日韩写真欧美这视频| 黑人精品欧美一区二区蜜桃| 久久午夜羞羞影院免费观看| 国产一区二区三区不卡在线观看| 久久综合久久99| 成人激情免费视频| 亚洲精品综合在线| 欧美日韩亚洲综合在线| 日韩电影免费在线观看网站| 欧美一级理论片| 国产精品69久久久久水密桃| 中文字幕国产一区| 91黄色免费网站| 亚洲超碰精品一区二区| 日韩女优av电影在线观看| 国产成人综合亚洲91猫咪| 亚洲免费电影在线| 欧美男人的天堂一二区| 激情另类小说区图片区视频区| 中文字幕 久热精品 视频在线| 91丨porny丨国产| 亚州成人在线电影| 精品久久久久久最新网址| 国产91丝袜在线观看| 亚洲免费观看高清在线观看| 欧美一区二视频| 懂色av噜噜一区二区三区av| 亚洲色图欧洲色图| 欧美一区二区三级| 国产suv精品一区二区6| 亚洲美女屁股眼交3| 日韩欧美在线观看一区二区三区| 国产精品资源在线观看| 亚洲在线观看免费| 久久久久国产精品免费免费搜索| av成人免费在线| 日本成人在线网站| 国产精品久久久久久一区二区三区| 精品视频在线免费看| 国产黄色成人av| 天堂va蜜桃一区二区三区| 国产拍揄自揄精品视频麻豆| 欧美专区日韩专区| 国产精品69毛片高清亚洲| 亚洲图片有声小说| 中文一区二区完整视频在线观看| 欧美亚洲国产一卡| 成人免费毛片aaaaa**| 天涯成人国产亚洲精品一区av| 中文字幕精品一区二区三区精品| 欧美高清精品3d| caoporn国产一区二区| 久久超碰97中文字幕| 亚洲午夜免费电影| 欧美国产一区视频在线观看| 欧美日韩国产高清一区二区三区| 成人性生交大片免费看中文 | 91久久国产综合久久| 国产在线播精品第三| 视频在线观看91| 综合亚洲深深色噜噜狠狠网站| 欧美成人一区二区| 在线播放中文一区| 91同城在线观看| 成人一区二区三区在线观看| 看电影不卡的网站| 日韩专区在线视频| 一区二区在线观看免费视频播放| 久久精品日韩一区二区三区| 欧美丰满美乳xxx高潮www| 一本到一区二区三区| 国产91丝袜在线播放九色| 美女任你摸久久| 视频一区中文字幕| 亚洲6080在线| 亚洲一区二区三区免费视频| 亚洲欧洲在线观看av| 久久日韩粉嫩一区二区三区| 欧美一区二区免费观在线| 欧美性大战久久久久久久| 91蝌蚪porny九色| 99精品视频免费在线观看| 春色校园综合激情亚洲| 国产综合色精品一区二区三区| 日本少妇一区二区| 青青草国产精品亚洲专区无| 午夜久久电影网| 亚洲二区视频在线| 亚洲成人免费在线观看| 亚洲午夜视频在线|