获取远程文件大小

时间:2013-08-12 19:33:37

标签: vb.net webrequest filesize visual-studio-2010

在vb.net中获取远程文件大小的最佳方法是什么?最近我使用的是这段代码:

        Dim Request As System.Net.WebRequest
        Dim Response As System.Net.WebResponse
        Dim FileSize As Integer
        Request = Net.WebRequest.Create("http://my-url.com/file.exe")
        Request.Method = Net.WebRequestMethods.Http.Get
        Response = Request.GetResponse
        FileSize = Response.ContentLength

从某种程度上说它无法正常工作,因为它提供的文件大小无效。

Putty说:1.240.214字节(有效), vb.net的WebRequest说:1.246.314字节(无效!)

看起来WebRequest正在使用某种缓存...... 有没有更好的方法来获取远程文件大小?

1 个答案:

答案 0 :(得分:1)

如何制作HEAD请求,如下:

Dim req As System.Net.WebRequest = System.Net.HttpWebRequest.Create("http://my-url.com/file.exe")
req.Method = "HEAD"

Using resp As System.Net.WebResponse = req.GetResponse()
    Dim ContentLength As Integer

If Integer.TryParse(resp.Headers.[Get]("Content-Length"), ContentLength) Then
    ' Use ContentLength variable here 
    End If
End Using

这会给你与PuTTY相同的结果吗?