登录失败:未知的用户名或密码错误。用C#FTP

时间:2013-03-04 14:28:47

标签: c# ftp

我正在尝试访问网络外部的FTP服务器以获取CSV文件。这是我正在使用的代码

string XMLPATH = @"\\server\file.csv";
FileWebRequest request = (FileWebRequest)FileWebRequest.Create(XMLPATH);
request.Credentials = new NetworkCredential("admin", "password");
FileWebResponse response = request.GetResponse() as FileWebResponse;
Stream stReader = response.GetResponseStream();

当我通过我的控制台应用程序运行时,我收到此消息。

Logon failure: unknown user name or bad password

如果我到服务器位置获取Windows资源管理器中的文件,我可以正常登录并检索文件。之后,我的应用程序可以正常访问该文件。我读了这个前一个堆栈线程

Logon failure: unknown user name or bad password? But I am using the right username and password

我将此添加到我的配置

<system.net>
 <defaultProxy useDefaultCredentials="false">
  <proxy usesystemdefault="True"/>
 </defaultProxy>
</system.net>

这没有任何改变。我还尝试将我的域添加到Credentials Constructor,但这也没有解决任何问题。此连接需要作为客户端应用程序完成,因此上一篇文章与我的文章略有不同。任何帮助将不胜感激。谢谢

修改

因为我很好奇,我在调用Windows资源管理器和我的应用程序请求时运行了Wireshark跟踪。使用资源管理器时,它使用正确的凭据发送请求。但是,当我使用该应用程序时,它会将请求作为我的计算机的登录名称(也就是我的用户ID)发送。为什么当我在请求中发送请求凭据时,它仍默认为登录用户?我必须为此配置一个设置吗?

2 个答案:

答案 0 :(得分:0)

我怀疑您需要指定域名(或计算机名称):

new NetworkCredential("admin", "password", domainOrComputerName)

答案 1 :(得分:0)

我能够通过在将运行该应用程序的服务器上创建本地用户来解决此问题。此用户的设置方式与具有FTP服务器读取权限的用户完全相同

相关问题