【问题标题】:Downloading a PDF (not opening it) using c#/URLDownloadToFile使用 c#/URLDownloadToFile 下载 PDF(不打开)
【发布时间】:2014-06-12 21:30:24
【问题描述】:

我需要下载一个 pdf 文件,但是当我点击链接时,我的浏览器打开它,我没有下载窗口(save\saveAs\Open)。 我使用 WatIn 制作登录名\密码而不是点击链接,我无法使用 Webreqest 获取此文件,因为我需要设置 cookie,而且我无法从 WatIn 浏览器获取 cookie(在这种情况下)。

我的代码

  using (var browser = new IE("https://www.test.com")){
     browser.GoTo(Link);
   int   response = URLDownloadToFile(0, Link, FilePath, 0, 0);

}

在打开下载窗口的链接中(save\saveAs\Open)一切正常,但我的浏览器只是在浏览器中打开文件,我无法保存。

如何使用 URLDownloadToFile

保存 PDF 文件

【问题讨论】:

    标签: c# watin


    【解决方案1】:

    您可以使用 WebClient,这是我能想到的最简单的方法:

    using (var webClient = new WebClient())
    {
        webClient.DownloadFile("https://www.test.com", "C:\test.pdf");
    }
    

    如果需要,您还可以添加代理和网络凭据。

    编辑:关于 cookie 的内容,您也可以将它们添加到 WebClient

    【讨论】:

    • 我如何添加它们?它们在登录后每次都动态构建。这意味着我需要使用 webreqest/response 重新构建,我不想要那样。
    • 不经测试,你可以从IE类中提取cookies,并使用前面描述的方法stackoverflow.com/questions/6137310/…将它们添加到WebClient,但我真的不知道这是否有效,你会需要尝试一下
    • 这个人我都认识,但这是一个银行网站,我不能那么容易获得 cookie,60% 的情况下它可以工作,但不能用这个。
    猜你喜欢
    • 2017-12-11
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2014-05-13
    • 2021-10-30
    相关资源
    最近更新 更多