zoukankan      html  css  js  c++  java
  • FTP- Download, upload, Delete & find files

    
    
    Public Function Func_FTP(Operation,ServerName,UserName,Password,RemoteLocation,LocalLocation)
    
    
    'Set up the environment
    Const INTERNET_OPEN_TYPE_DIRECT = 1
    
    Extern.Declare micLong, "InternetOpen", "wininet.dll", "InternetOpenA", micString, micDWord, micString, micString, micDWord
    
    Dim hInternet
    hInternet = Extern.InternetOpen( "QTP_FTP", INTERNET_OPEN_TYPE_DIRECT, vbNullChar, vbNullChar, 0 )
    
    
    If hInternet = 0 Then
    
    Func_FTP= False
    
    Reporter.ReportEvent micFail, "InternetOpen", "Failed to setup environment."
    
    Exit Function
    
    end If
    
    
    
    ' Open ftp server
    Extern.Declare micLong, "InternetConnect", "wininet.dll", "InternetConnectA", micLong, micString, micInteger, micString, micString, micDWord, micDWord, micDWord
    
    Const INTERNET_DEFAULT_FTP_PORT = 22
    
    Const INTERNET_SERVICE_FTP = 1
    
    Dim hConnect
    
    hConnect = Extern.InternetConnect(hInternet,ServerName,INTERNET_DEFAULT_FTP_PORT,UserName,Password,INTERNET_SERVICE_FTP,0, 0 )
    
    If hConnect = 0 Then
    
    Func_FTP= False
    
    Reporter.ReportEvent micFail, "InternetConnect", "Failed to open internet connection."
    
    Exit Function
    
    end If
    
    Dim bRetval
    
    Select case lcase(Operation)
    
    Case "getfile"
    'Get file
    Extern.Declare micInteger, "FtpGetFile", "wininet.dll", "FtpGetFileA", micLong, micString, micString, micInteger, micDWord, micDWord, micDWord
    
    Const FTP_TRANSFER_TYPE_ASCII = 1
    
    bRetval = Extern.FtpGetFile( hConnect, RemoteLocation, LocalLocation, False, 0, FTP_TRANSFER_TYPE_ASCII, 0 )
    
    wait(2)
    
    If Not CBool( bRetVal ) Then
    
    Func_FTP= False
    
    Reporter.ReportEvent micFail, "FtpGetFile " & RemoteLocation, "Failed to download file. at " & LocalLocation
    
    Exit Function
    
    end If
    
    Case "putfile" 
    'put file
    Extern.Declare micInteger, "FtpPutFile", "wininet.dll", "FtpPutFileA", micLong, micString, micString, micDWord
    
    bRetval = Extern.FtpPutFile( hConnect,LocalLocation,RemoteLocation, 0 )
    
    wait(2)
    
    If Not CBool( bRetVal ) Then
    
    Reporter.ReportEvent micFail, "FtpPutFile " & LocalLocation , "Failed to upload file. at " & RemoteLocation
    
    Func_FTP= False
    
    Exit Function
    
    End If 
    
    
    Case "deletefile"
    'delete file
    Extern.Declare micInteger, "FtpDeleteFile", "wininet.dll", "FtpDeleteFileA",micLong,micstring
    
    bRetval =Extern.FtpDeleteFile(hConnect,RemoteLocation)
    
    wait(2)
    
    If Not CBool( bRetVal ) Then
    
    Reporter.ReportEvent micFail, "FtpPutFile", "Failed to delete file.--" & RemoteLocation
    
    Func_FTP= False
    
    Exit Function
    
    End If
    
    
    Case "findfile"
    
    Dim WIN32_FIND_DATA
    
    Extern.Declare micInteger, "FtpFindFirstFile", "wininet.dll", "FtpFindFirstFileA", micLong, micString,miclong, micDWord
    
    bRetval =Extern.FtpFindFirstFile(hConnect,RemoteLocation,WIN32_FIND_DATA,INTERNET_FLAG_NO_CACHE_WRITE)
    
    bRetval=left(bRetval,2)
    
    If bRetVal=0 Then
    
    Func_FTP= False
    
    Reporter.ReportEvent micFail, "File Not Found ", "File Not found ."
    
    Exit Function
    
    End If
    
    Case else 
    
    End Select
    
    
    
    'Close Connections
    Extern.Declare micInteger, "InternetCloseHandle", "wininet.dll","InternetCloseHandle", micLong
    
    Extern.InternetCloseHandle( hConnect )
    
    Extern.InternetCloseHandle( hInternet )
    
    
    End Function
    

      

    But  wininet.dll does't support sFTP

  • 相关阅读:
    javaweb中带标签体的自定义标签
    javaweb带父标签的自定义标签
    Filter的常见应用
    Filter内容
    JFace TableViewer性能改善 -- 使用VirtualTable
    SWT table性能改善 -- 使用VirtualTable
    java自动探测文件的字符编码
    [小技巧]Filezilla无法确定拖放操作目标,由于shell未正确安装__解决办法
    批量导出VBA工程中的Source
    开源许可证知多少
  • 原文地址:https://www.cnblogs.com/ellie-test/p/4683062.html
Copyright © 2011-2022 走看看