닷넷/C#

C# FTP 연결 확인 및 파일 다운로드

FreeBear 2017. 1. 10. 14:56
반응형
using System.Net;
 
private ftpConn()
{
    try
    {
        FtpWebRequest ftpre = (FtpWebRequest)WebRequest.Create(string.Format("ftp://{0}/{1}", txtFTP_Host.Text.Trim(), txtFTP_File.Text.Trim()));
    ftpre.Method = WebRequestMethods.Ftp.ListDirectory;
        ftpre.Credentials = new NetworkCredential(txtFTP_UID.Text.Trim(), txtFTP_PWD.Text.Trim());
        ftpre.GetResponse();
    }
    catch
    {
        //Exception
    }
}
 
private void ftpDownload()
{
    string ftpPath = string.Format("ftp://{0}/{1}", _host, _file);
 
    // WebRequest.Create로 Http,Ftp,File Request 객체를 모두 생성할 수 있다.
    FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpPath);
    // FTP 다운로드한다는 것을 표시
    req.Method = WebRequestMethods.Ftp.DownloadFile;
    // 익명 로그인이 아닌 경우 로그인/암호를 제공해야
    req.Credentials = new NetworkCredential(_uid, _pwd);
 
    // FTP Request 결과를 가져온다.
    using (FtpWebResponse resp = (FtpWebResponse)req.GetResponse())
    {    
        // FTP 결과 스트림
        Stream stream = resp.GetResponseStream();
 
        // 결과를 문자열로 읽기 (바이너리로 읽을 수도 있다)
        string data;
        using (StreamReader reader = new StreamReader(stream))
        {
            data = reader.ReadToEnd();
        }
 
        // 로컬 파일로 출력
        File.WriteAllText(_file, data);
    }
}
cs

출처: 구글링으로 되는 것 찾아서 사용함.

반응형