如何在vb6中使用microsoft internet transfer control 6.0连接到ftps站点

如何在vb6中使用microsoft internet transfer control 6.0连接到ftps站点,vb6,sftp,inet,Vb6,Sftp,Inet,在我现有的visual basic 6应用程序中,我连接到一个ftp站点。现在,另一方将协议更改为ftps,并将端口更改为22 我的代码不能正常工作。我收到错误vb FTP运行时错误“35753”“此方法不支持协议” 我只更改了代码中的端口和url 我以前的url类似于ftp.xxx.com.tr 我将url更改为 sftps://ftp.xxx.com.tr 我正在尝试使用filezilla连接到同一个位置,它将url更改为sftps://ftp.xxx.com.tr 所以我复制了它。st

在我现有的visual basic 6应用程序中,我连接到一个ftp站点。现在,另一方将协议更改为ftps,并将端口更改为22

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

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

我以前的url类似于ftp.xxx.com.tr

我将url更改为

sftps://ftp.xxx.com.tr

我正在尝试使用filezilla连接到同一个位置,它将url更改为sftps://ftp.xxx.com.tr 所以我复制了它。stackover()中也有类似的问题,但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
谢谢你抽出时间, Ferda

我使用了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
cd到_remotedir
lcd C:\path2'本地目录
mget**
退出
result=ChangeFileContent(“*”,xOnlyFileName)//在这里,我更改脚本文件psftpcommand.bat的内容以获取特定文件
睡1000
Shell“C:/path/psftp.exe-v-pw”&xPassword&“&xUserName&“@”&xURL&“:22-b C:/path/psftpcommands.bat”
睡1000
result=ChangeFileContent(xOnlyFileName,“*”),这里我重新更改了文件的内容。将文件名更改为->*
'在下面的列表中,我检查请求的文件是否已提交
睡1000
如果Dir(“C:\path2\”&xOnlyFileName)”,则
gLogonFtp=“成功”
frmDataTransfers.lblttransferinfodownload.Caption=“Dosya cchekildi”&xOnlyFileName
frmDataTransfers.lbltTransferinFoDownload.Refresh
如果结束
就这些

谢谢你的帮助


Ferda

Microsoft Internet传输控制既不支持sftp也不支持ftps()。您需要找到一些第三方控件或使用转换桥(Bitvise)来实现这一点。您需要的是SFTP。因此,您需要一个第三方组件,例如我们的SecureBackbox或用于VB6的其他SSH/SFTP客户端控件。使用
psftp.exe
from--它是免费的