19대 대선 선관위에서 데이터를 받아오는 프로그램을 개발하였다.
특이하게, url을 치고 들어가면
해당 페이지내에 디렉토리 및 파일이 존재하였다.
그때, url을 호출하여 해당 디렉토리에 존재하는 파일 (a 태그)들의 정보를 가져오는 소스이다.
/// <summary>
/// 마지막 최신 파일 이름을 가져옵니다.
/// </summary>
/// <param name="url">주소입니다.</param>
/// <returns></returns>
static private ReturnValue GetFileName(string url) {
var rst = new ReturnValue(false, "실패하였습니다.");
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Regex regex = new Regex("<a href=\".*\">(?<name>.*)</a>");
using (var reader = new StreamReader(response.GetResponseStream())) {
string result = reader.ReadToEnd();
MatchCollection matches = regex.Matches(result.ToLower());
if (matches.Count == 0) {
rst.Success = false;
return rst;
}
foreach (Match match in matches) {
if (!match.Success) { continue; }
if (match.Groups["name"].ToString().Contains("xml")) {
rst.Success = true;
rst.Value = match.Groups["name"].ToString();
}
}
}
return rst;
}
'개발 > C#' 카테고리의 다른 글
Interface 란? (0) | 2018.01.29 |
---|---|
[C#] Linq, SingleOrDefault() vs FirstOrDefault() (0) | 2017.09.01 |
Zip 파일 압축풀기 (0) | 2017.05.10 |
JsonConvert Dll (0) | 2015.12.10 |
Class 내의 다른 Class 사용 시 (0) | 2015.12.09 |