当前位置: 首页 > news >正文

commons-net

概述

网络编程Java库,广泛用于实现与多种网络协议的交互,如FTP、SMTP、POP3、IMAP、NNTP和Telnet等。

maven依赖

        <!-- https://mvnrepository.com/artifact/commons-net/commons-net --><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.12.0</version></dependency>

示例

        FTPClient ftpClient = new FTPClient();ftpClient.connect("ftp.example.com", 21);  // 连接到FTP服务器ftpClient.login("username", "password");    // 登录验证ftpClient.enterLocalPassiveMode();          // 使用被动模式传输文件FTPFile[] files = ftpClient.listFiles(); // 列出当前目录下的文件for (FTPFile file : files) {System.out.println(file.getName()); // 打印文件名}ftpClient.makeDirectory("/newdir"); // 创建新目录ftpClient.deleteFile("/path/to/file.txt"); // 删除文件if (ftpClient.isConnected()) {ftpClient.logout();          // 退出登录ftpClient.disconnect();      // 断开服务器连接}

常用API

客户端相关

  • 可用客户端
客户端说明
FTPClientFTP协议 TCP客户端,支持文件上传、下载等操作。
FTPSClientFTPS协议 TCP客户端,通过 SSL/TLS 加密传输。
FTPHTTPClient同时支持FTP协议和HTTP协议TCP客户端,用于同时处理文件传输和网页访问的场景
IMAPClientIMAP协议 TCP客户端, 支持从邮件服务器上直接访问和管理邮件,支持邮件文件夹和实时同步功能。
IMAPSClientIMAPS协议 TCP客户端,通过 SSL/TLS 加密传输。
AuthenticatingIMAPClientIMAP协议 协议身份验证TCP客户端
SMTPClientSMTP协议 TCP客户端,支持邮件发送。
SMTPSClientSMTPS协议 TCP客户端,通过 SSL/TLS 加密传输。
AuthenticatingSMTPClientSMTP协议 协议身份验证TCP客户端
POP3ClientPOP3协议 TCP客户端,支持邮件接收。
POP3SClientPOP3S协议 TCP客户端,通过 SSL/TLS 加密传输。
ExtendedPOP3ClientPOP3协议扩展的TCP客户端,实现更复杂的邮件传输功能
TelnetClientTelnet协议 TCP客户端,支持远程登录。
NNTPClientNNTP协议 TCP客户端,支持网络新闻传送协议
RExecClientRExec协议TCP客户端,支持远程执行命令功能
RCommandClientRCommand协议TCP客户端,支持客户端和服务器之间建立连接。
RLoginClientRLogin协议TCP客户端,网络远程登录另一台计算机
DiscardTCPClientRFC863协议的TCP客户端,支持发送数据到服务器并接收服务器响应
EchoTCPClientTCP连接测试客户端,支持验证TCP 服务器是否在指定端口上运行,并且能够正确响应客户端的连接请求。
CharGenTCPClientRFC864 字符生成器协议TCP客户端,用于网络设备测试和调试。
DaytimeTCPClient时间协议TCP客户端,支持获取服务器的日期和时间。
TimeTCPClient时间协议TCP客户端,支持获取服务器的日期时间信息。
FingerClientFinger协议客户端,用于查询远程主机信息。
WhoisClientWhois协议客户端,用于查询域名及IP地址注册信息,
CharGenUDPClientRFC864 字符生成器协议UDP客户端,用于网络设备测试和调试。
DaytimeUDPClient时间协议UDP客户端,支持获取服务器的日期和时间。
TimeUDPClient时间协议UDP客户端,支持获取服务器的日期时间信息。
DiscardUDPClientRFC863协议的UDP客户端,支持发送数据到服务器并接收服务器响应
EchoUDPClientUDP连接测试客户端,支持验证UDP 服务器是否在指定端口上运行,并且能够正确响应客户端的连接请求。
NTPUDPClientNTP协议UDP客户端,用于从时间服务器获取准确的时间信息
TFTPClientTFTP协议UDP客户端,用于文件下载或固件升级等场景。
  • SocketClient(所有客户端的抽象父类)
客户端说明
addProtocolCommandListener(ProtocolCommandListener listener)
removeProtocolCommandListener(ProtocolCommandListener listener)
实现监听和调试网络协议的命令和响应。
connect(InetAddress host)
connect(InetAddress host, int port)
connect(InetAddress host, int port, InetAddress localAddr, int localPort)
connect(String hostname)
connect(String hostname, int port)
connect(String hostname, int port, InetAddress localAddr, int localPort)
配置连接服务器的地址
disconnect()断开连接
getCharset()
setCharset(Charset charset)
获取或配置字符集
getConnectTimeout()
setConnectTimeout(int connectTimeout)
获取或配置连接超时时间
getDefaultPort()
setDefaultPort(int port)
获取或设置默认端口号
getDefaultTimeout()
setDefaultTimeout(int timeout)
获取或设置默认超时时间
getKeepAlive()
setKeepAlive(boolean keepAlive)
获取或配置是否保持长时间的网络连接
getLocalAddress()获取本地地址
getLocalPort()获取本地端口号
getProxy()
setProxy(Proxy proxy)
获取或配置代理对象
getRemoteAddress()
获取远程地址
getRemotePort()
获取远程端口号
getServerSocketFactory()
setServerSocketFactory(ServerSocketFactory factory)
获取或设置ServerSocketFactory
getSoLinger()
setSoLinger(boolean on, int val)
获取或设置Socket连接的关闭行为。on为true时,表示延迟val秒关闭;on为false时,等待数据发送完毕后再正常关闭Socket
getSoTimeout()
setSoTimeout(int timeout)
获取或设置‌输入/输出流操作的超时时间‌
getTcpNoDelay()
setTcpNoDelay(boolean on)
获取或设置Tcp连接是否无延迟
isAvailable()判断连接是否是可用的
isConnected()判断连接是否是否连接成功
setReceiveBufferSize(int size)配置接收缓冲区大小
setSendBufferSize(int size)配置发生缓冲区大小
setSocketFactory(SocketFactory factory)设置Socket工厂
verifyRemote(Socket socket)远程验证连接
  • FTPClient
客户端说明
FTPClient()构造方法
abort()放弃当前的数据传输
allocate(int bytes)
allocate(int bytes, int recordSize)
allocate(long bytes)
allocate(long bytes, int recordSize)
分配指定数量字节的文件空间。
appendFile(String remote, InputStream local)向一个已经存在的文件追加内容
appendFileStream(String remote)通过输出流向一个已经存在的文件追加内容
changeToParentDirectory()切换当前目录到父目录
changeWorkingDirectory(String path)切换工作目录
completePendingCommand()检查上一个命令是否已经成功完成
configure(FTPClientConfig ftpClientConfig)设置 FTP客户端配置
deleteFile(String path)删除文件
disconnect()断开网络连接
doCommand(String command, String params)发送一个 FTP 命令到服务器
doCommandAsStrings(String command, String params)发送一个 FTP 命令到服务器,并获取命令执行后的响应作为字符串数组。
enterLocalActiveMode()使用本地主动模式
enterLocalPassiveMode()使用本地被动模式
enterRemoteActiveMode(InetAddress host, int port)使用远程主动模式
enterRemotePassiveMode()使用远程被动模式
features()判断是否支持服务器功能
featureValue(String feature)获取服务器功能
featureValues(String feature)获取服务器功能数组
getAutodetectUTF8()
setAutodetectUTF8(boolean autoDetectEncoding)
获取或设置自动检测编码
getBufferSize()
setBufferSize(int bufferSize)
获取或设置缓存大小
getControlKeepAliveReplyTimeoutDuration()
setControlKeepAliveReplyTimeout(Duration timeout)
设置控制连接(通常是与 FTP 服务器的命令通道)在空闲状态下保持活跃的超时时间。
getControlKeepAliveTimeoutDuration()
setControlKeepAliveTimeout(Duration controlIdle)
指定空闲连接在被服务器关闭之前可以保持活跃的最长时间。
getCopyStreamListener()
setCopyStreamListener(CopyStreamListener copyStreamListener)
获取或设置监听器,用来监听文件传输过程中的进度,
getDataConnectionMode()获取数据连接模式
getDataTimeout()
setDataTimeout(Duration timeout)
获取或设置数据超时时间
getListHiddenFiles()
setListHiddenFiles(boolean listHiddenFiles)
获取或设置是否列出隐藏文件
getModificationTime(String path)
setModificationTime(String path, String timeval)
获取或修改文件最后修改时间
getPassiveHost()获取被动连接的IP地址
getPassiveLocalIPAddress()
setPassiveLocalIPAddress(InetAddress passiveLocalHost)
setPassiveLocalIPAddress(String ipAddress)
获取或配置本地被动模式下的IP地址
getPassivePort()
获取被动连接的端口号
getSendDataSocketBufferSize()
setSendDataSocketBufferSize(int sendDataSocketBufferSize)
获取或设置发送数据的缓冲区大小。
getReceiveDataSocketBufferSize()
setReceieveDataSocketBufferSize(int receiveDataSocketBufferSize)
获取或设置接受数据的缓冲区大小
getRestartOffset()
setRestartOffset(long offset)
获取或设置重启偏移量
getSize(String path)
获取文件大小
getStatus()
getStatus(String path)
获取文件状态
getSystemType() 获取系统类型
getSystemTypeOverride()
获取覆盖的系统类型
hasFeature(FTPCmd feature)
hasFeature(String feature)
hasFeature(String feature, String value)
判断是否有指定的功能
initiateListParsing()
initiateListParsing(String path)
initiateListParsing(String parserKey, String path)
初始化解析过程
initiateMListParsing()
initiateMListParsing(String path)
isIpAddressFromPasvResponse()
setIpAddressFromPasvResponse(boolean ipAddressFromPasvResponse)
isRemoteVerificationEnabled()
setRemoteVerificationEnabled(boolean remoteVerificationEnabled)
isUseEPSVwithIPv4()
setUseEPSVwithIPv4(boolean useEPSVwithIPv4)
listDirectories()
listDirectories(String parent)
列出当前目录下的文件夹
listFiles()
listFiles(String path)
listFiles(String path, FTPFileFilter filter)
列出当前目录下的文件
listHelp()
listHelp(String command)
获取系统帮助信息并返回完整的字符串。
listNames()
listNames(String path)
列出当前目录下的文件名
login(String user, String password)
login(String user, String password, String account)
使用提供的用户名和密码登录到FTP服务器。
logout()退出FTP服务器
makeDirectory(String path)创建一个FTP服务器的当前目录的子目录
mdtmCalendar(String path)
mdtmInstant(String path)
mlistDir()
mlistDir(String path)
mlistDir(String path, FTPFileFilter filter)
mlistFile(String path)
printWorkingDirectory()返回当前工作目录的路径名。
reinitialize()初始化
remoteAppend(String fileName)
remoteRetrieve(String fileName)
remoteStore(String fileName)
remoteStoreUnique()
remoteStoreUnique(String fileName)
removeDirectory(String path)移除文件夹
rename(String from, String to)文件重命名
retrieveFile(String remote, OutputStream local)下载文件
retrieveFileStream(String remote)下载文件
storeFile(String remote, InputStream local)文件上传
storeFileStream(String remote)文件上传
storeUniqueFile(InputStream local)
storeUniqueFile(String remote, InputStream local)
storeUniqueFileStream()
storeUniqueFileStream(String remote)
文件上传
sendNoOp()发送一个NOOP命令到FTP服务器。
sendSiteCommand(String arguments)发送一个站点特定的命令。
setActiveExternalIPAddress(String ipAddress)设置在主动模式下的外部IP地址。
setActivePortRange(int activeMinPort, int activeMaxPort)客户端设置在主动模式端口范围。
setFileStructure(int fileStructure)设置文件的结构。
setFileTransferMode(int fileTransferMode)设置传输模式。
setFileType(int fileType)
setFileType(int fileType, int formatOrByteSize)
设置文件类型和格式传送
setParserFactory(FTPFileEntryParserFactory parserFactory)配置解析工厂类
setPassiveNatWorkaroundStrategy(HostnameResolver passiveNatWorkaroundStrategy)
setReportActiveExternalIPAddress(String ipAddress)
structureMount(String path)
http://www.dtcms.com/a/412846.html

相关文章:

  • 平湖有做网站得吗环球资源网
  • 专题网站开发工具有哪些搭建一个网站
  • 临夏州建设局网站网站建设后期服务收费标准
  • 姑苏网站建设佛山网络推广平台
  • 网站数字签名北京怀柔做网站管理运营的公司
  • 中英文网站建设报价黄页网站建设黄页网站建设
  • tk网站域名注册甘肃精神文明建设网站
  • 万网怎么更改网站名字的知道网站是wp程序做的如何仿站
  • 自己做的网站可以上架烟吗电脑网站安全证书有问题如何解决
  • o2o平台网站开发用html做的美食网站
  • 北京网站建设公司联系方式做外贸 上国外网站
  • 做任务赚取佣金网站网站开发就业培训班
  • 北京建站公司哪家好西安做网站商城的公司
  • Python零基础入门:30分钟掌握核心语法与实战应用
  • vps新建的网站打不开品牌策划公司一般有什么职位
  • 深圳分销网站建设找人建设网站
  • 网站升级方案金蝶erp系统介绍
  • 北京响应式网站设计成立网站
  • 网站备案 途径吉首网站制作
  • 做网站怎么报价邢台网站建设最新报价
  • JavaWeb开发---学习---(一)
  • 建立网站需要多少钱?网站搭建规划模板
  • 深入理解二叉树——从结构和递归原理到实战
  • Java线程安全:volatile与wait/notify详解
  • 做网站 pc端与手机端兼容淘宝店可以做团购的网站吗
  • php源码怎么建设网站响应网站怎么做
  • 长春网站设计哪家好网站是com好点还是cn
  • 住建部官方网站许昌市住房和城乡建设部网站
  • C++ 继承与派生详解:从概念到代码实战
  • C++扩展 --- 并发支持库(补充3)