在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正在使用某种缓存...... 有没有更好的方法来获取远程文件大小?
答案 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相同的结果吗?