2

在我现有的 Visual Basic 6 应用程序中,我连接到一个 ftp 站点。现在对方把协议改成ftps,端口改成22。

我的代码无法正常工作。我收到错误 vb FTP 运行时错误“35753”“此方法不支持协议”。

我只更改了代码中的端口和 url

我的旧网址就像 ftp.xxx.com.tr

我将网址更改为

sftps://ftp.xxx.com.tr

我正在尝试使用 filezilla 连接到同一位置,它将 url 更改为 sftps://ftp.xxx.com.tr 所以我复制了它。stackover 中有类似的问题(在 MS access 2007 中将 PDF 文件传输到 ftp 服务器),但不是 ftps。这是我的代码

    With xControl
       .AccessType = icDirect
       .Protocol = icFTP
       .RemotePort = 22
       .RequestTimeout = 50
       .url = xURL
       .UserName = xUserName
       .Password = xPassword
       .Cancel
       .Execute , "DIR " & xFileName
        Do While .StillExecuting
           DoEvents: DoEvents: DoEvents
        Loop
        gLogonFtp = "Connected to Host"
   End With

谢谢你的时间,费尔达

4

1 回答 1

1

我使用 psftp 作为 - wqw(3 月 11 日 13:53)在他的评论中建议。这是我的新代码。

这是我的脚本文件

    cd to_remotedir
    lcd C:\path2 'local dir
    mget * *
    quit

result = ChangeFileContent("*", xOnlyFileName) //here I change the content of my script file psftpcommand.bat to get a specific file 

Sleep 1000
Shell "C:/path/psftp.exe -v -pw " & xPassword & " " & xUserName & "@" & xURL & ":22 -b C:/path/psftpcommands.bat"
Sleep 1000
 result = ChangeFileContent(xOnlyFileName, "*")//here I rechanged the content of the file. Change file name to ->*

'In the below I check if the requested file has come 
Sleep 1000
If Dir("C:\path2\" & xOnlyFileName) <> "" Then
    gLogonFtp = "Successful"
    frmDataTransfers.lblTransferInfoDownLoad.Caption = "Dosya Çekildi " & xOnlyFileName
    frmDataTransfers.lblTransferInfoDownLoad.Refresh

 End If

就这样。

感谢您的帮助。

费尔达

于 2013-03-15T09:12:45.577 回答