标签: ftp

如何提高FtpWebRequest的性能?

我有一个用.NET 3.5编写的应用程序,它使用FTP从服务器上传/下载文件.该应用程序工作正常,但存在性能问题:

  1. 连接FTP服务器需要花费大量时间.FTP服务器位于不同的网络上,并具有Windows 2003 Server(IIS FTP).当多个文件排队等待上传时,从一个文件到另一个文件的更改会使用FTPWebRequest创建一个新连接,并且需要花费很多时间(大约8-10秒).

  2. 有可能重新使用连接吗?我不太确定KeepAlive属性.哪些连接保持活跃并重用.

  3. Windows Server 2003上的IIS-FTP不支持SSL,因此任何人都可以通过WireShark等数据包嗅探器轻松查看用户名/密码.我发现如果IIS 7.0,Windows Server 2008在其新版本中支持基于FTP的SSL.

我基本上想要提高我的应用程序的上传/下载性能.任何想法将不胜感激.

**请注意3不是问题,但我希望人们对此发表评论

.net ftp ftpwebrequest

34
推荐指数
4
解决办法
3万
查看次数

Spring MVC 3.2.8:FtpInboundFileSynchronizer

我有一个基于Spring Web模型 - 视图 - 控制器(Spring MVC 3.2.8)的应用程序,我想使用FTP SessionFactory的默认实现与FTP集成.

我有这段代码

private void performImport() throws Exception {

    String fileNamePattern="*.txt";

    ftpInboundFileSynchronizer = new FtpInboundFileSynchronizer(myFtpSessionFactory );
            ((FtpInboundFileSynchronizer) ftpInboundFileSynchronizer).setFilter(new FtpSimplePatternFileListFilter(fileNamePattern));

    ftpInboundFileSynchronizer.setRemoteDirectory(remoteDirectory);

    deleteLocalFiles();

    System.out.println ("before synchronize");

    ftpInboundFileSynchronizer.synchronizeToLocalDirectory(localDirectory);

    System.out.println ("after synchronize");
}
Run Code Online (Sandbox Code Playgroud)

这是我在控制台中看到的:

before synchronize
after synchronize
Run Code Online (Sandbox Code Playgroud)

在FTP我有一个test.txt文件,但文件没有传输,我没有错误/异常

我也尝试过使用fileNamePattern="*.*";但它也不起作用

这是我的配置文件:

@Configuration
@PropertySource("classpath:/config/application.properties")
public class FtpConfiguration {

    @Autowired
    private SessionFactory myFtpSessionFactory;

    @Bean
    @Scope(value="step")
    public FtpGetRemoteFilesTasklet myFtpGetRemoteFilesTasklet()
    {
        FtpGetRemoteFilesTasklet  ftpTasklet = new FtpGetRemoteFilesTasklet();
        ftpTasklet.setRetryIfNotFound(true);
        ftpTasklet.setDownloadFileAttempts(3);
        ftpTasklet.setRetryIntervalMilliseconds(10000);
        ftpTasklet.setFileNamePattern("README");
        //ftpTasklet.setFileNamePattern("TestFile");
        ftpTasklet.setRemoteDirectory("/");
        ftpTasklet.setLocalDirectory(new File(System.getProperty("java.io.tmpdir")));
        ftpTasklet.setSessionFactory(myFtpSessionFactory);

        return ftpTasklet; …
Run Code Online (Sandbox Code Playgroud)

java ftp spring spring-integration

34
推荐指数
1
解决办法
901
查看次数

如何从被动模式获取FTP协议的端口?

当我在FTP中进入被动模式时,我得到:

227进入被动模式(213,180,204,183,230,205).

前4个数字是IP地址,但最后两个是什么?

他们是两个港口吗?

ftp port passive-mode

32
推荐指数
2
解决办法
4万
查看次数

为什么22是SFTP的默认端口号?

为什么22是SFTP的默认端口号?这有什么具体原因吗?

ftp port sftp

31
推荐指数
3
解决办法
13万
查看次数

在没有SSH可用的服务器上创建符号链接?

当我看到以下帖子时,我很兴奋,但它不包括我的情况:在本地安装FTP服务器

有没有办法让我在没有SSH访问的情况下在远程服务器上创建符号链接,可能是通过一些FTP黑客攻击?

ftp ssh symlink

30
推荐指数
3
解决办法
4万
查看次数

使用Git与共享主机方案

所以我开始使用Git和这个工作流程来创建一个个人网站(主要用于测试和学习Git),我正在使用Xampp在笔记本电脑上本地开发它.

但现在我想公开这个网站并将其上传到我的网络服务器.问题是,我使用共享主机方案,这意味着我只能访问我的网站目录.不能使用SSH或安装Git或任何东西..

我想部署网站和该网络服务器的任何更新,但我想知道是否可以使用Git只有FTP访问?如果没有,那么更新我的网站的建议是什么?手动拖动文件通过Filezilla可能会有点乏味.

php git deployment ftp shared-hosting

30
推荐指数
1
解决办法
2万
查看次数

如何将文件解压缩到.NET内存流?

我有文件(来自第三方)正在FTP到我们服务器上的目录.我下载它们并处理它们甚至'x'分钟.效果很好.

现在,一些文件是.zip文件.这意味着我无法处理它们.我需要先解压缩它们.

FTP没有zip/unzipping的概念 - 所以我需要抓取zip文件,解压缩然后处理它.

看看MSDN zip api,我似乎无法解压缩到内存流?

所以这是唯一的方法......

  1. 解压缩到一个文件(什么目录?需要一些非常临时的位置...)
  2. 阅读文件内容
  3. 删除文件.

注意:文件的内容很小 - 比如4k < - > 1000k.

.net c# ftp

30
推荐指数
4
解决办法
4万
查看次数

如何检查FTP目录是否存在

寻找通过FTP检查给定目录的最佳方法.

目前我有以下代码:

private bool FtpDirectoryExists(string directory, string username, string password)
{

    try
    {
        var request = (FtpWebRequest)WebRequest.Create(directory);
        request.Credentials = new NetworkCredential(username, password);
        request.Method = WebRequestMethods.Ftp.GetDateTimestamp;

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    }
    catch (WebException ex)
    {
        FtpWebResponse response = (FtpWebResponse)ex.Response;
        if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
            return false;
        else
            return true;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

无论目录是否存在,都返回false.有人能指出我正确的方向.

c# ftp ftpwebrequest

29
推荐指数
4
解决办法
8万
查看次数

如何计算FTP上的目录大小?

如何计算FTP文件夹的大小?你知道C#中的任何工具或编程方式吗?

c# ftp

29
推荐指数
4
解决办法
5万
查看次数

可可错误260

我一直收到这个错误.我通过ftp上传到服务器.它工作正常并在模拟器中运行时完全上传,但是当我在iPhone上配置它时,它说: Error Occurred. Upload failed: The operation couldn’t be completed. (Cocoa error 260.)

有什么建议?我已经进行了数小时的调试和研究,无法解决这个问题.我试过清理目标,重置设备,重置xcode.

我缩小的一件事是:

NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:self.filePath error:&attributesError];
if (attributesError) {
    [self failWithError:attributesError];
    return;
}
Run Code Online (Sandbox Code Playgroud)

在设备中,attributesError为true,在模拟器中为false

ftp cocoa objective-c ios

29
推荐指数
3
解决办法
3万
查看次数