这似乎是一个简单的问题,但我正在编写一个需要访问远程服务器上的文件的控制台应用程序。 我有一个URL,一个U / N和一个P / W. URL协议当然是https,我没有使用ftp或sftp的选项。 当我使用浏览器访问远程路径时,我被要求提供u / n和p / w,因此它似乎是基本的文件身份验证。
我搜索了各种方法,并找到了像Impersonation这样的解决方案,但大多数都涉及通过本地网络或Windows网络进行身份验证。
我是否可以在具有此类身份验证的服务器上使用File.Exists
和File.Copy
方法?
我的路径采用以下格式..
答案 0 :(得分:6)
您可以使用.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);
}
这将从http://example.com/files/somefile.txt
下载文件并将其保存到c:\file.txt
。