2013-07-16 2 views
5

ftp 서버에서 날짜 시간을 기준으로 파일을 다운로드하고 싶습니다 .. CuteFtp 타사에서이 Ftp에 액세스 할 수 있으며 모든 것이 Okey이지만 줄 아래에서 코드를 실행하면됩니다. GetRespone()이 오류가 발생합니다. 작업 시간이 초과되었습니다. 이 FTP에서 프로그래밍 방식으로 webclient requet를 사용하여 샘플 파일을 다운로드했지만 괜찮 았지만 listDirectoryDetail을 얻으려면 FtpWebRequest을 사용해야하고 webClient는 지원하지 않습니다. 한 가지 더 예외가 있습니다. FtpWebRequest.ContentType 던져 넣습니다. 형식은 System.NotSupportedException입니다. 여기 FtpWebResponse, 작업 시간이 초과되었습니다

내 코드입니다!

Uri uri = new Uri("ftp://192.168.1.5:2100/");//the private address 
     if (uri.Scheme != Uri.UriSchemeFtp) 
     { 
      return; 
     } 
     FtpWebRequest reqFTP; 
     reqFTP = (FtpWebRequest)WebRequest.Create(uri);        
     reqFTP.Credentials = new NetworkCredential("myuser", "mypass"); 
     reqFTP.KeepAlive = false; 
     reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;        
     reqFTP.UseBinary = true; 
     reqFTP.Proxy = null; 
     reqFTP.UsePassive = false; 
     FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); 

도와주세요 :(

+0

당신이 NetworkCredential 사용자 이름과 암호를 확인했던 데이터 포트에 연결을 시작합니다. 나는 그것을 확인했습니다 물론 –

+0

을! 있습니다 .. wron로 g 사용자/패스하면 인증 또는 로그인 (확실하지 않음) 오류가 발생합니다. – Parid0kht

+0

Uri를 ""ftp://192.168.1.5:2100/C:/test.txt "와 같은 실제 존재하는 파일에 매핑하고 요청 메소드를 request.Method = WebRequestMethods.Ftp.DownloadFile로 변경하려고합니다. –

답변

12

내 문제를 해결했습니다 ... UsePassive 속성이 참에 해당하는 경우 클라이언트가해야 설정해야합니다 내가이기 때문에 당신이 당신의 코드를 복사 생각하기 때문에?

reqFTP.UsePassive = true; 
관련 문제