3

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

無効なファイルサイズを指定しているため、しばらくすると正しく機能しなくなります。

パテは言う: 1.240.214 バイト (有効)、vb.netWebRequestは言う: 1.246.314 バイト (無効!)

WebRequest が何らかのキャッシュを使用しているようです...リモート ファイルのサイズを取得するためのより良い方法はありますか?

4

2 に答える 2

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 と同じ結果が得られますか?

于 2013-08-12T19:39:32.890 に答える