如何使用HttpWebRequest下载文件

Dav*_*vid 6 browser vb.net webforms httpwebrequest

试图在代码中下载文件.

当前代码:

  Dim uri As New UriBuilder
    uri.UserName = "xxx"
    uri.Password = "xxx"
    uri.Host = "xxx"
    uri.Path = "xxx.aspx?q=65"

   Dim request As HttpWebRequest = DirectCast(WebRequest.Create(uri.Uri), HttpWebRequest)

    request.AllowAutoRedirect = True

    request = DirectCast(WebRequest.Create(DownloadUrlIn), HttpWebRequest)
    request.Timeout = 10000
    'request.AllowWriteStreamBuffering = True

    Dim response As HttpWebResponse = Nothing
    response = DirectCast(request.GetResponse(), HttpWebResponse)
    Dim s As Stream = response.GetResponseStream()

    'Write to disk
    Dim fs As New FileStream("c:\xxx.pdf", FileMode.Create)

    Dim read As Byte() = New Byte(255) {}
    Dim count As Integer = s.Read(read, 0, read.Length)
    While count > 0
        fs.Write(read, 0, count)
        count = s.Read(read, 0, read.Length)
    End While

    'Close everything
    fs.Close()
    s.Close()
    response.Close()
Run Code Online (Sandbox Code Playgroud)

运行此代码并检查response.ResponseUri表示我被重定向回登录页面而不是pdf文件.

出于某种原因,它没有授权访问我可能会丢失的内容,因为我在uri中发送用户名和密码?谢谢你的帮助

Wal*_*eed 4

您不需要所有代码来从网络下载文件,只需使用WebClient类及其DownloadFile方法