VB :: Lecture & TIPs

[VB.NET] 간단히 HTTP 웹 서버 파일의 크기를 구하는 방법

HTTP 웹 서버에 위치한 파일의 크기를 구하는 방법의 열쇠는 바로 HEAD 라는 HTTP 메서드에 있습니다.

HEAD 메서드는 헤더 (Header) 만 주고 받는 메서드로, 파일까지 받아오는 GET / POST 메서드와는 차이가 있습니다.

HttpWebRequest 의 Method 속성을 HEAD 로 지정하게 되면 해당 HTTP Method 를 사용할 수 있고, 그러한 방법을 이용하면 다음과 같이 손쉽게 특정 URL 에 위치한 파일의 크기를 알아올 수 있습니다.

 

DownloadFileSize

 

함수 :

Public Function GetDownloadSize(ByVal URL As String) As Long
    Dim r As Net.WebRequest = Net.WebRequest.Create(URL)
    r.Method = Net.WebRequestMethods.Http.Head
Using rsp = r.GetResponse()
        Return rsp.ContentLength
    End Using
End Function

 

사용법 :

MessageBox.Show("업데이트 파일 용량 :" & " " & Math.Round(GetDownloadSize(srcv(1)) / 1024 / 1024, 2) & " " & "MB")

 

아래의 내용들을 추가로 공부하시면 내용 이해에 도움이 될 수 있습니다.

1.  System.Net.HttpRequest (Microsoft MSDN) : http://msdn.microsoft.com/ko-kr/library/system.net.httpwebrequest.aspx
(ASP.NET 에서 지원하는 System.Web.HttpRequest 와는 다른 클래스이므로 혼동하시지 않도록 주의하세요.)

2. HTTP Head Method (HTTP RFC2616 Standard Definition) : http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

고맙습니다.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s