我想访问我们网络外部的FTP服务器来获取CSV文件。下面是我使用登录失败:未知用户名或密码错误。 FTP与C#
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构造函数,但是这也不能解决任何问题。这种连接需要作为客户端应用程序完成,因此前一篇文章与我的文章有点不同。任何帮助将不胜感激。由于
编辑
因为我很好奇,我跑呼吁同时在Windows资源管理器和我的应用程序的请求Wireshark的痕迹。使用资源管理器时,它使用适当的凭证发送请求。但是,当我使用应用程序时,它会将请求作为我的计算机的登录名称(又名我的用户标识)发送。为什么当我在请求中发送请求凭证时,它仍然默认为登录用户?是否有我必须为此配置的设置?
服务器是否使用Windows身份验证?如果是这样,你需要域\用户名格式 – 2013-03-04 14:33:27
你的密码中的任何特殊字符? – JMK 2013-03-04 14:36:05
@JMK是的,我的密码有'@'和'!'在其中 – 2013-03-04 15:11:17