当前位置: 首页 > 编程语言 > C#

使用凭据连接ftp服务器分享

时间:2023-04-10 12:20:07 C#

C#学习教程:使用凭据连接到FTP服务器我正在尝试从服务器检索目录列表,但是当我到达该行时:stringline=reader.ReadLine();我得到的字符串只包含:“无法打开“host:/lib1”。”如果我尝试获取另一行,则会抛出下一个异常:远程服务器返回错误:(550)文件不可用(例如,找不到文件,没有访问权限)。我确定(使用另一个ftp应用程序)ftp服务器上存在“lib1”目录并且我的凭据(用户名和密码)是正确的。这是我的代码:publicclassFTPClient{publicstringUserName{get;放;}公共字符串密码{得到;放;}publicstringIpAddress{get;放;}publicint端口{得到;放;}publicFTPClient(string_userName,string_password,string_address,int_port){UserName=_userName;密码=_密码;IpAddress=_地址;端口=_端口;}publicvoidGetDirectoriesList(string_path){FtpWebRequestrequest=(FtpWebRequest)WebRequest.Create(newUri("ftp://"+IpAddress+_path));请求.UseBinary=true;request.Method=WebRequestMethods.Ftp.ListDirectory;request.Credentials=newNetworkCredential(用户名,密码);FtpWebResponse响应=(FtpWebResponse)request.GetResponse();流responseStream=response.GetResponseStream();StreamReaderreader=newStreamReader(responseStream);字符串行=reader.ReadLine();while(line!=null){...//用line做一些事情line=reader.ReadLine();}...读者。关闭();响应.关闭();}我按如下方式使用它:FTPClientftpClient=newFTPClient("user1","pass1","192.168.2.110",21);stringdirList=ftpClient.GetDirectoriesList("/lib1");谁能发现问题?我的解决方案publicstring[]GetDirectory(){StringBuilderresult=newStringBuilder();FtpWebRequestrequestDir=(FtpWebRequest)WebRequest.Create("ftp://urserverip/");requestDir.Method=WebRequestMethods.Ftp.ListDirectory;requestDir.Credentials=newNetworkCredential("用户名","密码");FtpWebResponseresponseDir=(FtpWebResponse)requestDir.GetResponse();StreamReaderreaderDir=newStreamReader(responseDir.GetResponseStream());stringline=readerDir.ReadLine(while(line!=null){result.Append(line);result.Append("n");line=readerDir.ReadLine();}result.Remove(result.ToString().LastIndexOf('n'),1);responseDir.Close();returnresult.ToString().Split('n');}对AbdulWaheed回答的一些改进:以上是C#学习教程的全部内容:usingcredentials连接ftp服务器分享,很有用,需要多了解C#学习教程,希望大家多多关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: