vb.net - 如何使用HttpWebRequest下载文件

标签 vb.net webforms httpwebrequest browser

尝试在代码中下载文件。

当前代码:

  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()

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

出于某种原因,它没有授权访问我在 uri 中发送用户名和密码时可能会遗漏什么?谢谢你的帮助

最佳答案

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

关于vb.net - 如何使用HttpWebRequest下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6778055/

相关文章:

vb.net - 什么可以被视为VB.NET中的实例: Object reference not set to an instance of an object

javascript - 如何从 CDN 扩展 jQuery?

c# - 在 C# 应用程序中显示 html/css 网页?

c# - 如何在代码中设置useUnsafeHeaderParsing

sql-server - 为什么 SSIS vb 脚本在 VS 中执行时正确检测到文件存在,而不是从 SQL Server 中执行

c# - (VB 或 C#)在系统托盘中运行应用程序并在应用程序未处于焦点时收听键盘输入

javascript - 将搜索按钮从一个站点复制到另一个站点 : How does this search button work,,如何重现其操作?

c# - 在 asp.net 中代表用户发推文

python - 在 Windows 中使用 Python 下载 Mp3 会损坏歌曲,但在 Linux 中不会

arrays - 使用 VB .net 从进程数组中删除重复项