2011-10-07 2 views
2

아래 코드를 사용하여 Using response as..에 "원격 서버에 연결할 수 없습니다"오류가 계속 나타납니다. 나는 무엇이 잘못되었거나 어디에서 도움을 받을지 모르겠습니다. .NET의 FTP는 거의 사용되지 않는 것 같습니다.VB.NET에서 FTP 연결에 실패했습니다

두 번째 바보 같은 질문입니다. EnableSsl! = Sftp?

Dim FTPrequest As FtpWebRequest = DirectCast(FtpWebRequest.Create(New Uri("ftp://176.31.212.85/dev/shm/Minecraft/world/players/Drise.dat")), FtpWebRequest) 
    FTPrequest.EnableSsl = True 
    FTPrequest.Credentials = New System.Net.NetworkCredential("user", "pass") 
    FTPrequest.Method = Ftp.DownloadFile 
    FTPrequest.UseBinary = True 
    FTPrequest.KeepAlive = False 
    Dim ftpstream As IO.Stream = Nothing 

    Using response As System.Net.FtpWebResponse = CType(FTPrequest.GetResponse(), System.Net.FtpWebResponse) 
     Using responseStream As IO.Stream = response.GetResponseStream 
      'loop to read & write to stream 
      Dim buffer(2047) As Byte 
      Dim read As Integer = 0 
      Do 
       read = responseStream.Read(buffer, 0, buffer.Length) 
       ftpstream.Write(buffer, 0, read) 
      Loop Until read = 0 'see Note(1) 
      responseStream.Close() 
     End Using 
     response.Close() 
    End Using 
+0

방화벽, 보안 정책 등과 같은 외부 요소를 확인 했습니까? –

+0

FileZilla와 동일한 자격 증명으로 연결하면 정상적으로 연결됩니다. 그것이 당신이 요구하는 것이라면. – Drise

+1

일종. 예를 들어, Windows의 방화벽은 앱의 이름을 기준으로 구분할 수 있으며 ftp는 다른 포트를 공격 할 수있는 수동 모드와 활성 모드를 모두 가지므로 다양한 방식으로 방화벽을 사용할 수 있습니다. –

답변

0

내가 게시하지 못한이 질문과 관련하여 나중에 밝혀낸 몇 가지 설명을 제공해 드리고 싶습니다. SFTP는 SSL이 아닌 SSH 제품군의 일부입니다. VB.Net (마지막으로 사용한 이후) SFTP 연결을 지원하지 않습니다. 일부 외부 라이브러리가 있지만 필요한 모든 것을 찾은 모든 라이브러리가 있습니다.