728x90

인터넷에 있는 파일을 읽어서 원하는 내용을 추출할 때 사용하는 코드이다.

이벤트 처리에 대한 개념이 잡히면서 MSDN 찾아보고 구글링 예제를 보면 점점 더 알게된다.


WebClient 클래스 : https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=KO-KR&k=k%28System.Net.WebClient%29;k%28TargetFrameworkMoniker-.NETFramework

using System.Net;

private void webFileRead()
{
    string serverfileName = "setup.txt";
    string URLPath = "http://www.abc.com/app/";

    WebClient client = new WebClient();
    Stream stream = client.OpenRead(URLPath + serverfileName);
    StreamReader reader = new StreamReader(stream);
    string readText = reader.ReadToEnd();
    //MessageBox.Show(readText);
    string serverVersion = SSplit(SSplit(readText, "[Version]", 1), "[", 0).Replace("\r\n", "").Trim();
    MessageBox.Show(serverVersion);
}

public static string SSplit(string _body, string _parseString, int index)
{
    string varTemp = _body.Split(new string[] { _parseString }, StringSplitOptions.None)[index];
    return varTemp;
}



WebRequest 클래스를 이용하여 웹 파일 내용을 확인하는 코드이다.

private string getSVersion()
{
    string serverfileName = "setup.txt";
    string URLPath = "http://www.abc.com/app/";

    WebRequest request = WebRequest.Create(URLPath + serverfileName);
    WebResponse response = request.GetResponse();
    string readText = new StreamReader(response.GetResponseStream()).ReadToEnd();
    string serverVersion = SSplit(SSplit(readText, "[Version]", 1), "[", 0).Replace("\r\n", "").Trim();

    return serverVersion;
}


웹 파일 다운로드 진행률 표시 처리 구현을 위한 준비 작업

WebClient 클래스의 이벤트를 찾아보면 파일 다운로드를 구현할 때 파일의 다운로드 진행상태 등을 알 수 있는 예제를 제공하고 있다.

https://msdn.microsoft.com/ko-kr/library/system.net.webclient.downloadprogresschanged%28v=vs.110%29.aspx


WebClient.DownloadProgressChanged 이벤트
// 비동기 다운로드 작업을 통해 데이터 전체 또는 일부를 성공적으로 전송하면 발생
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgress);
private void DownloadProgress(object sender, DownloadProgressChangedEventArgs e)
{
   progressBar1 = e.ProgressPercentage;
   label1.Text = progressBar1.Value.ToString() + "%";
}

WebClient.DownloadFileCompleted 이벤트
// 비동기 파일 다운로드 작업이 완료되면 발생
client.DownloadFileCompleted += new AsyncCompletedEventHandler (DownloadFileComplete);
private void DownloadFileComplete(object sender, AsyncCompletedEventArgs e)
{
   MessageBox.Show("다운로드가 완료되었습니다");
}


블로그 이미지

Link2Me

,