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

  • 相关阅读:
    skyline(TEP,TerraGate) Fly文件的BS部署系列(2)SFS把shapefile发布WFS服务
    skyline TerraGate 1060 Could not start service Terrain Service 的解决方法
    skyline TerraBuilder(TB)处理不规则范围影像,去除空值,填充高程等
    skyline(TEP,TerraGate) Fly文件的BS部署系列(1)MPT部署
    北京2008奥运会吉祥物福娃大家庭
    网站进度条完美解决方案
    北京2008年奥运会体育图标
    很汗颜的linux第一篇
    dyld:Library not loaded
    如果一个按钮被覆盖如何响应?
  • 原文地址:https://www.cnblogs.com/ellie-test/p/4683062.html
Copyright © 2011-2022 走看看