C# 下 FtpWebRequest 类的一个小问题
来源:互联网 发布:js xmlhttprequest 编辑:程序博客网 时间:2024/06/14 16:32
近日用到了FtpWebRequest这个类,用于连接到FTP服务器来下载文件,但是在使用下面代码的时候遇到了一些问题:
private FtpWebRequest GetRequest(string url, bool useBinary)
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(url);
NetworkCredential networkCredential = new NetworkCredential(userName, passWord);
ftpRequest.Credentials = networkCredential;
ftpRequest.UseBinary = useBinary;
ftpRequest.KeepAlive = false;
return ftpRequest;
}
当我不断的下载新文件的时候,会随机的出现异常,返回的错误信息是 500 Syntax error, command unrecognized.
感到非常纳闷,抓包看看,发现在FTP连接完成,开始RETR之后,客户端会随机的向服务器发出User 命令,也就是请求重新登录,这样一来,服务器肯定是会报错的。查了半天,后来终于在一个英文的论坛看到这样一句话,大致意思是:NetworkCredential 不用每次都初始化,也就是在上面的函数中,没必要每次都new出一个NetworkCredential来,于是将NetworkCredential 改为全局变量,并增加一个标志位来判断是否已经创建NetworkCredential ,果然OK了。可恶的500 Syntax error 终于不再出现了~~~~~
private FtpWebRequest GetRequest(string url, bool useBinary)
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create(url);
NetworkCredential networkCredential = new NetworkCredential(userName, passWord);
ftpRequest.Credentials = networkCredential;
ftpRequest.UseBinary = useBinary;
ftpRequest.KeepAlive = false;
return ftpRequest;
}
当我不断的下载新文件的时候,会随机的出现异常,返回的错误信息是 500 Syntax error, command unrecognized.
感到非常纳闷,抓包看看,发现在FTP连接完成,开始RETR之后,客户端会随机的向服务器发出User 命令,也就是请求重新登录,这样一来,服务器肯定是会报错的。查了半天,后来终于在一个英文的论坛看到这样一句话,大致意思是:NetworkCredential 不用每次都初始化,也就是在上面的函数中,没必要每次都new出一个NetworkCredential来,于是将NetworkCredential 改为全局变量,并增加一个标志位来判断是否已经创建NetworkCredential ,果然OK了。可恶的500 Syntax error 终于不再出现了~~~~~
0 0
- C# 下 FtpWebRequest 类的一个小问题
- C# 下 FtpWebRequest 类的一个小问题
- C# 中FtpWebRequest 类NetworkCredential多次连接认证的问题
- C# 中FtpWebRequest 类NetworkCredential多次连接认证的问题
- FtpWebRequest 类
- c# FTP的两种实现方法(一)-FtpWebRequest
- FtpWebRequest的常用操作
- 试验FtpWebRequest的断点续传
- FtpWebRequest的常用操作
- FtpWebRequest的常用操作
- C#中foreach语句的一个小问题
- IE7下window.open()的一个小问题
- 关于weblogic生产模式下的一个小问题
- linux下编译c++的一个小问题(解决)
- vs.net2003在代理下的一个奇怪小问题
- Eclipse下新建Android项目碰到的一个小问题
- mac下vim插件taglist的一个小问题
- WinCE下UART设置缓冲区的一个小问题
- Android中解决ListView等视图setOnItemClickListener()方法失效的问题
- HTC One X S720e/G23刷ROOT教程
- makefile
- PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
- JS正则表达式验证数字
- C# 下 FtpWebRequest 类的一个小问题
- HTC ONE X(G23)官方解锁教程
- 搜狐笔试题:给定一个实数数组,按序排列(从小到大),从数组从找出若干个数,使得这若干个数的和与M最为接近,描述一个算法,并给出算法的复杂度。
- OpenMax多媒体引擎
- 到底创建了几个对象?? String s = new String("abc");
- HBase 系统架构
- [C#]猫叫人醒老鼠跑 C#的委托及事件
- 常用awk命令(转)
- IP地址:127.0.0.1