当前位置: 首页 > 知识库问答 >
问题:

FTP至1和1。通用域名格式

刘畅
2023-03-14

下面的代码适用于我尝试过的另外两个网站,但不适用于由1和1托管的我的域。返回代码始终为500-永久否定完成回复。

我知道我在联系是因为FTPReply。isPositiveCompletion(reply)返回true。我尝试了从手机存储器读取文件和从代码早期填充的字节数组发送文件。这是字节数组。两人都返回500人。两者都在其他网站上工作。

如果不使用enterLocalPassiveMode(),代码将停止对storeFile调用的执行。没有例外,没有插座超时。它就到此结束,异步任务将不会在该会话中再次调用。代码在其他网站上没有这样做。

我试过ASCII和二进制文件类型。两人都返回500人。1和1站点表示要使用我的域和端口21。我可以使用我设置的两个帐户连接CoreFTP和读写。

我也厌倦了ftp4j,并且对所有场景都有相同的响应,所以回到Apache,因为代码已经用强大的错误捕获编写。

我已经尝试了mydomain.com和ftp.mydomian.com.500。我还尝试了我可以在CoreFTP窗口中看到的点四边形,但是我得到了ApacheJava代码“无法解析主机名”。也许不是静态IP?

这就是CoreFTP所做的。它在端口21上连接,然后进入被动模式和ASCII数据连接。

这是一个渺茫的希望,但是有没有人曾经在Android Studio中使用JavaFTPed到他们的1and1域?

格雷格

解决mydomain.com....
将套接字#5684连接到xx.xx.xx.xxx,端口21...220 Microsoft FTP Service
USER ftp79815757-0
331 ftp79815757-0所需的密码。
PASS **********
230用户登录。
SYST
215Windows_NT
保持活着关闭... PWD
257"/ftp79815757-0"是当前目录。
PASV
227进入被动模式(xx, xxx, xx, xxx, xxx)。
LIST
将套接字#5700连接到xx.xx.xx.xx,端口62894... 150打开ASCII模式数据连接。
226传输完成。
在0.094秒内传输了51个字节

FTPClient mFtpClient = new FTPClient();
String ip = "my domain dot com";
String userName = "ftp79815757-0";
String pass = "password";

mFtpClient.connect(InetAddress.getByName(ip));
mFtpClient.login(userName, pass);
int reply = mFtpClient.getReplyCode();
if (FTPReply.isPositiveCompletion(reply)) {
    mFtpClient.setFileType(FTP.BINARY_FILE_TYPE);
    //one thread said this would do the trick
    mFtpClient.enterLocalPassiveMode();
    mFtpClient.enterRemotePassiveMode();

    InputStream stream = new ByteArrayInputStream(imageData);

    //I have two accounts. One points to images_in
    /*if (!mFtpClient.changeWorkingDirectory("images_in")) {
       Log.e("ChangeDir", String.valueOf(mFtpClient.getReplyCode()));
    }*/

    if (!mFtpClient.storeFile("remoteName.jpg", stream)) {
        Log.e("FTPUpload", String.valueOf(mFtpClient.getReplyCode()));
    }

    stream.close();
    mFtpClient.disconnect();
}

共有1个答案

皇甫智明
2023-03-14

终于明白了。主要问题是我使用的是旧版本的Apache库。我使用的罐子是commons-net-1.4。罐子另一个帖子里有人给我指了指commons-net-3.3。罐子

我把两个mFtpClient都注释掉了。enterLocalPassiveMode()和mFtpClient。enterRemotePassiveMode(),它与FTP一起工作时出现了一些线索和错误。二进制文件类型而非ASCII文件类型。ASCII在那里得到了文件,但它是垃圾。

 类似资料:
  • 1.【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例: name / \_name / $Object / name_ / name$ / Object$ 2.【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用。 正例: mond

  • 1.【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。 注意,即使纯拼音命名方式也要避免采用。 反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3 正例: monda / fiidee / dayi 等国际通用的名称,可视同英文。 2

  • 问题内容: 我有带重音拉丁字符的unicode字符串,例如 我想将其转换为普通的ascii,即“ Wikipedia,le projet dencyclopedie”,因此所有急性/重音,塞迪利亚等都应删除 什么是最快的方法,因为需要这样做才能匹配较长的自动完成下拉列表 结论: 作为速度的标准,Lennart的“注册您自己的错误处理程序以进行Unicode编码/解码”可提供最佳效果(请参见Alex

  • 本章涉及3个知识点,var、let、const,现在让我们了解3个关键字的特性和使用方法。 var JavaScript中,我们通常说的作用域是函数作用域,使用var声明的变量,无论是在代码的哪个地方声明的,都会提升到当前作用域的最顶部,这种行为叫做变量提升(Hoisting) 也就是说,如果在函数内部声明的变量,都会被提升到该函数开头,而在全局声明的变量,就会提升到全局作用域的顶部。 funct

  • 我已经使用CN1编写了一个访问sqlite数据库的应用程序。当我使用Netbeans在模拟器中运行应用程序时,它工作得非常好。然而,当我试图连接到实际设备上的db时,我得到了这个错误。。。 在我创建DB实例之前,我已经通过我的代码尝试查看我是否正在执行“关闭”操作,但我看不到它-如果我正在执行此操作,那么我希望它在模拟器中失败,对吗? 谢谢你的帮助 谢啦

  • 错误: 通用域名格式。太阳邮政util。MailConnectException无法连接到主机、端口smtp。gmail。com,587超时-1嵌套异常是java。网ConnectException:连接被拒绝:连接 我的源代码是: