打印本文 打印本文 关闭窗口 关闭窗口
[Delphi]一个解析FTP地址的小函数
作者:武汉SEO闵涛  文章来源:敏韬网  点击数746  更新时间:2009/4/23 18:26:28  文章录入:mintao  责任编辑:mintao

procedure TForm1.FTPAnalysis(S:string;var UserName,Password,IP,FileName:String;var DirList:TStringList);
var
  i,j:integer;
  strAuthorization,strAddr,strDirFile:string;//授权信息
begin
  UserName:= ''''anonymous'''';
  Password:= ''''test@test.com'''';
  IP := '''''''';
  strAddr := Copy(S,7,length(S)-6);//取得ftp://之后的部分
  //S 格式必须是类似ftp://rec:ooo@192.168.76.11/20050418/abcdef.vox,或ftp://192.168.76.11/......
  i := Pos(''''@'''',S);
  if(i>0) then
  begin
    strAuthorization := Copy(S,7,i-7); //只取帐号密码字段
    j:=Pos('''':'''',strAuthorization);
    if(j<1)then
      exit;
    UserName := Copy(strAuthorization,1,j-1);
    PassWord := Copy(strAuthorization,j+1,length(strAuthorization)-j);
  end;
  i := Pos(''''@'''',strAddr);
  j:=Pos(''''/'''',strAddr);
  if(j>0) then
    IP := Copy(strAddr,i+1,j-i-1);//获得IP地址
  strDirFile := Copy(strAddr,j+1,length(strAddr)-j);
  DirList.Delimiter := ''''/'''';
  DirList.DelimitedText := strDirFile;//获得目录列表
  FileName := DirList[DirList.count-1];//最后部分为文件名
  DirList.Delete(DirList.Count-1);

end;

打印本文 打印本文 关闭窗口 关闭窗口