支持代理的FTP操作
来源:互联网 发布:英语同声传译软件 编辑:程序博客网 时间:2024/06/05 19:11
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能。可以将ftp4j嵌到你的Java应用中,来传输文件(包括上传和下载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.connectors.FTPProxyConnector;
import it.sauronsoftware.ftp4j.connectors.HTTPTunnelConnector;
import it.sauronsoftware.ftp4j.connectors.SOCKS4Connector;
import it.sauronsoftware.ftp4j.connectors.SOCKS5Connector;
import it.sauronsoftware.ftp4j.connectors.SSLConnector;
JAR包下载地址:http://www.sauronsoftware.it/projects/ftp4j/download.php
示例代码:
//上传文件到FTP上去
FTPClient ftp =
new
FTPClient();
try
{
//如果配置了代理服务器,那么使用代理的一些配置
if
(ftp_proxy_ip.trim().length()>
0
)
{
//FTP代理连接器
if
(ftp_proxy_type.equals(
"FTPProxyConnector"
))
{
FTPProxyConnector type=
new
FTPProxyConnector(ftp_proxy_ip.trim(),ftp_proxy_port);
ftp.setConnector(type);
}
else
//SOCKET4代理连接器
if
(ftp_proxy_type.equals(
"SOCKS4Connector"
))
{
SOCKS4Connector type=
new
SOCKS4Connector(ftp_proxy_ip.trim(),ftp_proxy_port);
ftp.setConnector(type);
}
else
//SOCKET5代理连接器
if
(ftp_proxy_type.equals(
"SOCKS5Connector"
))
{
SOCKS5Connector type=
new
SOCKS5Connector(ftp_proxy_ip.trim(),ftp_proxy_port);
ftp.setConnector(type);
}
else
//http代理连接器
if
(ftp_proxy_type.equals(
"HTTPTunnelConnector"
))
{
HTTPTunnelConnector type=
new
HTTPTunnelConnector(ftp_proxy_ip.trim(),ftp_proxy_port);
ftp.setConnector(type);
}
else
//ssl代理连接器
if
(ftp_proxy_type.equals(
"SSLConnector"
))
{
SSLConnector type=
new
SSLConnector();
ftp.setConnector(type);
}
}
//连接上FTP
ftp.connect(ftp_ip, ftp_port);
//自动选择(根据文件内容)
ftp.setType(FTPClient.TYPE_AUTO);
//登录FTP
ftp.login(ftp_username, ftp_password);
System.out.println(
"FTP登录成功!"
);
}
catch
(Exception err)
{
System.out.println(
"FTP登录失败!"
);
return
;
}
//这个学校的FTP目录是否已存在,不存在就创建之
try
{
ftp.changeDirectory(
"/"
+school_id+
"/"
);
}
catch
(Exception err)
{
ftp.changeDirectory(
"/"
);
ftp.createDirectory(school_id);
}
try
{
ftp.changeDirectory(
"/"
+school_id+
"/"
);
//上传文档
File myfi=
new
File(TempDirectory+
".zip"
);
ftp.upload(myfi);
System.out.println(
"成功上传文件:"
+myfi.getName());
}
catch
(Exception e) {
System.out.println(
"error:"
+e.toString());
}
//登出
ftp.disconnect(
true
);
System.out.println(
"结束FTP上传,成功退出!"
);
0 0
- 支持代理的FTP操作
- FTP~~URL对FTP的支持原因
- FTP命令的操作
- FTP的各种操作
- PHP的ftp操作
- python实现的ftp自动上传下载程序(支持目录递归操作)----转
- 关于让FTP支持SSO的思路
- IPtables支持FTP被动方式的问题
- 支持断点续传的FTP实用类备忘
- (C# )Ftp的操作
- .NET的FTP操作类
- PHP操作FTP的类
- java对ftp的操作
- ftp服务器的文件操作
- wget用法wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.
- 支持的代理模式异步下载httpdownload
- 代理对缓存命令的支持
- PHP CURL简单使用(支持ssl连接和proxy代理连接,简单的GET/POST常规操作,文件上传)
- IoT嵌入式编程
- configure: error: xml2-config not found. Please check your&nb
- Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt
- TensorFlow 研究实践 一
- Java 敏感词库 过滤
- 支持代理的FTP操作
- redis 基本命令学习三(键值相关命令及服务器相关命令)
- C语言的非法与合法
- Binder学习指南
- 键盘字母打字游戏
- C语言函数和指针(十三)
- css 选择器,闲时看看,巩固基础
- css行高line-height的一些深入理解及应用
- 另类方法整合ucenter(uc)示例简版