【问题标题】:How to copy files from a remote server that uses basic authentication如何从使用基本身份验证的远程服务器复制文件
【发布时间】:2014-06-12 19:50:08
【问题描述】:

这似乎是一个简单的问题,但我正在编写一个需要访问远程服务器上的文件的控制台应用程序。 我有一个 URL、一个 U/N 和一个 P/W。 URL 协议当然是 https,我没有使用 ftp 或 sftp 的选项。 当我使用浏览器访问远程路径时,系统会要求我输入 u/n 和 p/w,因此它似乎是基本文件身份验证。

我搜索了各种方法并找到了像模拟这样的解决方案,但大多数都涉及通过本地网络或 Windows 网络进行身份验证。

有什么方法可以在具有这种身份验证的服务器上使用File.ExistsFile.Copy 方法?

我的路径格式如下..

https://domain.net/folder/

【问题讨论】:

    标签: c# authentication httpwebrequest


    【解决方案1】:

    您可以使用 .NET 框架中的 WebClient 类来做到这一点。

    尝试以下方法:

    using (var client = new System.Net.WebClient())
    {
        client.Credentials = new System.Net.NetworkCredential("username", "password");
    
        var localPath = @"c:\file.txt";
        var remotePath = "http://example.com/files/somefile.txt";
    
        client.DownloadFile(remotePath, localPath);
    }
    

    这将从@987654321@ 下载文件并将其保存到c:\file.txt

    【讨论】:

    • +1。提防在stackoverflow.com/questions/1829609/…中提到的身份验证实施不当的网站
    • @Mun 我试试看。起初我的项目要求似乎相当简单,但后来我意识到我需要以某种方式通过服务器进行身份验证。我已经为 sftp 和 ftp 使用了一个名为 ChilKat 的 API,但这将是第一次通过 https 进行基本身份验证。
    • @Alexei Levenkov 我很感激你的提醒。我很快就会看到 Mun 的解决方案会发生什么。
    • @Mun 这个解决方案正是我想要的。我不确定我是否为这样的解决方案使用了正确的搜索词,但同样,大多数人只对通过某种本地网络进行身份验证感兴趣。我非常感谢这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    相关资源
    最近更新 更多