인터넷에 있는 파일을 읽어서 원하는 내용을 추출할 때 사용하는 코드이다.
이벤트 처리에 대한 개념이 잡히면서 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 클래스의 이벤트를 찾아보면 파일 다운로드를 구현할 때 파일의 다운로드 진행상태 등을 알 수 있는 예제를 제공하고 있다.
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("다운로드가 완료되었습니다");
}
'C# > 통신' 카테고리의 다른 글
C# comboBox 에 Text, Value 추가 및 POST, JSON (0) | 2016.08.19 |
---|---|
C# comboBox 에 Text, Value 추가, 서버와 JSON 연동 (0) | 2016.08.19 |
C# JSON 과 dataGridView 연동 개념 이해 (0) | 2016.08.18 |
C# Web 사이트에 PostData 저장하기 (0) | 2016.03.20 |
C# Web 접속 로그인 함수 만들기 (HttpWebRequest 방식) (0) | 2016.03.20 |