为了账号安全,请及时绑定邮箱和手机立即绑定

425 建立连接失败

425 建立连接失败

慕尼黑的夜晚无繁华 2023-02-23 10:39:47
我正在尝试使用 Java 应用程序通过 FTP 下载文件。可从此网页访问 FTP 网址:http://professionnels.ign.fr/adminexpress。更具体地说,我正在尝试下载此文件。在家里,我可以使用我的 java 应用程序、Firefox 或 Chrome 成功下载该文件。从我的工作来看,我只能对 Firefox 和 Chrome 做同样的事情。我的应用程序拒绝下载任何内容。注意:在工作中,浏览器和我的应用程序使用相同的 HTTP 代理访问互联网。我正在使用Apache Commons Net 3.6。这是我的应用程序的 FTP 交换示例。我无法嗅探 Chrome 或 Firefox 的那些。220 Bienvenue sur le site FTP de L INSTITUT NATIONAL DE L INFORMATION GEOGRAPHIQUE ET FORESTIEREUSER *******331 Please specify the password.PASS *******230 Login successful.TYPE I200 Switching to Binary mode.PASV227 Entering Passive Mode (192,134,132,16,65,180).RETR /ADMIN-EXPRESS-COG_2-0__SHP_WM__FRA_2019-05-20.7z.001425 Failed to establish connection.
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

博士

事实证明,我工作中的 HTTP 代理已经处理了所有的 FTP 交换。这就是 Firefox 和 Chrome 可以下载该文件的原因。当它们不在 HTTP 代理后面时,它们似乎通过直接发送 FTP 命令充当 FTP 客户端。

使用 ftp url 向 HTTP 代理发送一个简单的 HTTP GET 请求就足以下载文件。

以下是我在调查过程中找到的解决方案的总结:

  • 使用被动模式(PASV 命令)

  • 检查是否有要使用的 FTP 代理而不是 HTTP 代理

  • 检查 FTP 服务器的配置(如果您有权访问它)

  • 检查 HTTP 代理的配置(如果您有权访问它)


准确地说,浏览器执行一个简单的 HTTP 请求,如下所述:

GET ftp://user:passw0rd@example.com/file.ext HTTP/1.1
Host: example.com
User-Agent: WebBrowser-UA/x.y.z
...

然后 HTTP 代理解析 FTP url 并连接到 FTP 服务器。HTTP 代理将文件内容作为正常的 HTTP 响应返回。

HTTP/1.1 200 OK
Last-Modified: Tue, 21 May 2019 11:23:00 GMT
Content-Length: 115545060Content-Type: octet/stream
Connection: Keep-Alive
Age: 22Date: Thu, 27 Jun 2019 10:27:09 GMT

(file content here...)

但是,就我而言,HTTP 代理允许我连接到 FTP 服务器并仅在命令FTP 通道上进行交换。数据通道似乎在 ACTIVE 或 PASSIVE 模式下被阻塞。

在我的调查中,我发现很多人遇到了同样的问题。他们找到的解决方案(当他们找到一个......)不适用于我。以下是所有这些问题中表达的解决方案的总结:

  • 使用被动模式(PASV 命令)

  • 检查是否有要使用的 FTP 代理而不是 HTTP 代理

  • 检查 HTTP 代理是否直接处理 FTP 交换

  • 检查 FTP 服务器的配置(如果您有权访问它)

  • 检查 HTTP 代理的配置(如果您有权访问它)


查看完整回答
反对 回复 2023-02-23
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信