我一直在使用FTP客户端java实现。我所要做的就是连接到FTP服务器并将一个文件传输到服务器。
我设法与ftp服务器建立了连接(见下面的代码),之后我使用PASV命令进入了被动模式。现在我不知道下一步该做什么。我尝试在PASV命令之后制作一个新套接字并将其连接到FTP服务器端口20,但没有成功。
我的问题是建立连接时如何启动文件传输?(我的想法是与端口20建立连接并执行STOR命令,但我不知道如何做到)。
你有什么想法或有用的建议吗?
顺便说一句。我必须在不使用FTPClient等java类的情况下实现它
这是我的代码:
public class FTPtest {
Socket socket;
PrintWriter pw;
BufferedReader input;
String info = "";
public FTPtest(){
try{
socket = new Socket("some_ftp_server", 21);
logUsername();
closeEverything();
}
catch(IOException ioe){
System.out.println("error");
}
}
public void logUsername()throws IOException{
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
pw = new PrintWriter(socket.getOutputStream());
//user
pw.write("USER some_user\n");
pw.flush();
System.out.println(input.readLine());
//pass
pw.write("PASS some_pass");
pw.flush();
System.out.println(input.readLine());
System.out.println(input.readLine());
//PASV
pw.write("PASV");
pw.flush();
}
public void closeEverything() throws IOException{
input.close();
pw.close();
socket.close();
}
public static void main(String[]args){
new FTPtest();
}
}
我遇到了同样的问题。阅读RFC 959时,我注意到:
参数字段由以字符序列(回车、换行)结尾的变长字符串组成,用于NVT-ASCII表示;对于其他协商语言,可以使用不同的行尾字符。应该注意的是,服务器在收到行尾代码之前不会采取任何操作。
而不是
pw.write("USER some_user\n");
尝试
pw.write("USER some_user\r\n");
为我工作。。。
请查看RFC 959的语法和响应详细信息,在Java中实现完整的FTP客户端并非易事,而且需要相当长的时间。考虑使用JSCAPE的安全FTP工厂来稳健地实现FTP/FTPs协议。下面是显示示例代码的文档。
您最好使用已经存在的FTP客户端库。对于PASV请求,服务器将返回编码的IP地址和您应该连接的端口以进行数据连接。
FileZilla是一个开源的FTP客户端,可以在Linux和Windows等多种平台上使用。 此客户端还支持通过SFTP和FTPS的安全连接进行FTP。 您可以使用此软件在网络服务器中上传和管理文件。 当您希望上传您的网站时,文件数量或文件大小都非常大。 然后你可以使用FTP上传,因为通过cPanel文件管理器上传一个非常大的文件会导致上传错误。 大多数cPanel帐户都附带系统FTP帐户,您可
这是一个用 C# 开发的 FTP 客户端组件
很多客户使用E立方管理平台时,需要使用FTP方式完成附件或图片的传输,如何对客户端进行FTP检测呢? 下边介绍检测方法: 1、首先,客户端电脑的防火墙要开放 21号 端口 2、点击 E立方管理平台-->选项 这里有测试 3、FTP采用被动模式 选中和不选中,分别 检测 一下(检测完一种后,关闭窗体重新打开再测试另外一种) 看见如下提示就表示可以使用这种方式了 >
本文向大家介绍python实现简单ftp客户端的方法,包括了python实现简单ftp客户端的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现简单ftp客户端的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。
我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se
问题内容: 由于我没有收到对最后一个问题的肯定回答。我将尝试自己编写一个Java FTP上传小程序。 我的问题是:“您能推荐一个Java FTP客户端库供我使用吗?” 我希望它是: 稳定 能够处理被动和主动模式 能够提供上传进度信息 如果出了问题(尤其是上传不成功时),则引发可捕获的异常 便宜/免费使用,最好是开源的 我发现这个 概述了一些库,但由于这篇文章是从2003年,也许一些新的事态发展已经