//--------------------这是是main方法---------
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import it.sauronsoftware.ftp4j.FTPListParseException;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.util.Properties;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;
public class ss {
/**
* @param args
* @throws FTPException
* @throws FTPIllegalReplyException
* @throws IOException
* @throws IllegalStateException
* @throws FTPListParseException
*/
public static void main(String[] args) throws IllegalStateException, IOException, FTPIllegalReplyException, FTPException, FTPListParseException {
X509TrustManager[] trustAll = new X509TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};
SSLContext sslContext = null;
FTPClient client = new FTPClient();
try {
sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, trustAll, new java.security.SecureRandom());
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
client.setSSLSocketFactory(sslSocketFactory);
client.setSecurity(FTPClient.SECURITY_FTPS);
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
try {
File pf = new File("ftps.properties");
InputStream pi = new FileInputStream(pf);
Properties p = new Properties();
p.load(pi);
//服务器IP地址
String ip=p.getProperty("serverIp");
//服务器端口
String port=p.getProperty("serverPort");
//服务器用户名
String userName=p.getProperty("userName");
//服务器密码
String passWord=p.getProperty("passWord");
//本地文件
String localFile=p.getProperty("localFile");
System.out.println("----开始连接接服务器------");
System.out.println("IP> "+ip+" 端口> "+port+" 用户> "+userName);
client.connect(ip, Integer.valueOf(port));
client.login(userName, passWord);
String [] str=localFile.split(",");
System.out.println(" 总共 "+str.length+"文件要上传");
for(int i=0;i<str.length;i++){
System.out.println(" ");
System.out.println(" 第"+i+"文件");
System.out.println("---开始上传 "+str[i]+" ---");
client.upload(new java.io.File(str[i]));
System.out.println("---上传结束---");
System.out.println(" ");
}
} catch (FTPDataTransferException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//-------------------------配置文件(ftps.properties)-----------------------
# ftps 上传配置文件
#服务器IP地址
serverIp=192.168.1.17
#服务器端口
serverPort=991
#服务器用户名
userName=mjg
#服务器密码
passWord=123
#本地文件 多个文件用逗号分开
localFile=D\:output.log,D\:output2.log
相关推荐
本文将详细讲解如何使用Java的ftp4j库实现FTPS加密上传,以及相关的工具FileZillaServer和FileZillaFTP。 首先,FTPS(File Transfer Protocol over Secure Socket Layer)是FTP协议的安全版本,它通过SSL/TLS加密...
支持FTP加密上传,1.4到1.7版本的包 Security Basic FTP authentication. FTPS (FTP over implicit TLS/SSL). FTPES (FTP over explicit TLS/SSL).
在本文中,我们将深入探讨如何使用Qt框架来实现一个FTPS(FTP over SSL/TLS)服务器,以此确保数据传输的安全性和可靠性。FTPS是FTP协议的扩展,它通过添加SSL/TLS层为文件传输提供了加密保护,防止了数据在传输过程...
通过以上步骤,你可以在QTCreator中利用libcurl实现FTP和FTPS的文件上传。这不仅简化了网络传输的实现,也提高了代码的可移植性。在实际应用中,可能还需要考虑其他因素,如重试机制、进度条显示、多线程上传等,但...
- FTP4J支持断点续传,可以通过`resumeTransfer()`和`suspendTransfer()`方法来实现。这在大文件传输中断后继续传输时非常有用。 6. 错误处理和连接管理: - FTP4J的`FtpException`类表示FTP操作过程中可能遇到的...
《ftp4j 1.3源码解析与FTPS客户端实现》 ftp4j是一款流行的Java库,专门用于实现FTP(文件传输协议)和FTPS(FTP over SSL/TLS)客户端功能。它由意大利开发者Sandro Giachetti开发,旨在为Java应用程序提供简单而...
FTP、SFTP、FTPS 总结 FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上传输文件的协议。它是基于 TCP/IP 协议的应用层协议,主要用于在客户端和服务器之间传输文件。 FTP 的主要特点是: 1. 基于...
FTP4J是一个用Java编写的开源库,专为在Java应用程序中实现FTP(文件传输协议)功能而设计。这个库提供了全面的FTP客户端功能,包括连接到FTP服务器、上传和下载文件、创建和删除目录、处理被动模式以及支持SSL/TLS...
FTP客户端是用户与FTP服务器交互的工具,而FTPS(FTP over SSL/TLS)则为FTP提供了安全加密的通道,确保数据传输的隐私性。 FileZilla服务器是一款开源的FTP服务器软件,具有易于使用、稳定可靠和功能丰富的特点,...
在本文中,我们将详细探讨FTPS和SSL的基本用法,以及如何使用Java的ftp4j库进行FTP操作。 FTPS分为两种模式: Explicit(明示式)和Implicit(隐式)模式。在 Explicit 模式下,客户端先建立一个未加密的FTP连接,...
Labview FTP上传文件是利用Labview(Laboratory Virtual Instrument Engineering Workbench)这一强大的图形化编程环境,通过FTP(File Transfer Protocol)协议实现文件的远程传输。FTP是一种标准网络协议,用于在...
此外,对于涉及安全限制的服务器,可能需要使用SSL/TLS加密的FTPS(FTP over TLS/SSL)协议。这需要在建立FTP连接时启用安全模式,并提供相关的证书信息。如果遇到此类情况,我们需要对FTP组件进行相应的配置。 总...
- **加密传输**:尽管FTP支持FTPS(FTP over SSL/TLS)或SFTP(SSH File Transfer Protocol)以加密传输,但默认FTP是不安全的。在生产环境中,务必使用加密的协议来保护用户数据。 - **防止跨站请求伪造(CSRF)**...
FileZilla Server是一款开源、免费且功能强大的FTP服务器软件,支持FTPS(FTP over TLS/SSL)和FTP两种协议,可以提供安全的数据传输。本文将详细介绍如何使用FileZilla Server搭建FTPS和FTP服务器。 首先,你需要...
此外,还可能需要指定端口号(默认为21),以及选择连接类型,如FTP(不加密)、FTPS(使用SSL/TLS加密)或SFTP(使用SSH加密)。 3. 上传文件: 在FTP客户端中,用户可以浏览本地文件系统,选择要上传的文件或...
PB9 FTP上传与下载实例是基于PowerBuilder 9(PB9)开发的一种应用程序功能,它利用seinweb.dll组件来实现在FTP(File Transfer Protocol)服务器上进行文件的上传和下载操作。FTP是一种广泛用于互联网上的协议,...
FTP(File Transfer Protocol)是一种...总的来说,j-ftp是一个实用的Java FTP客户端,它利用了Java的AWT库创建图形界面,并实现了基本的FTP功能。对于初学者和经验丰富的开发者,它都是一个有价值的工具和学习资源。
CurlFtps是一个基于开源库curl的iOS应用,专门用于实现FTP(文件传输协议)和FTPS(安全文件传输协议)的上传服务。这个库为iOS开发者提供了一种方便的方式来处理文件上传,尤其是在需要安全传输敏感数据时,FTPS的...
这个示例代码使用 J-ftp 库来实现 FTP 客户端的上传功能。 五、结论 本文介绍了如何使用 Java 实现 FTP 服务器上的大批量文件的上传和下载,处理大文件的上传和下载。通过 Java 现有的可用的库来编写 FTP 客户端...