Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 抑制epsv问题_Ruby_Ftp_Curl_Curb - Fatal编程技术网

Ruby 抑制epsv问题

Ruby 抑制epsv问题,ruby,ftp,curl,curb,Ruby,Ftp,Curl,Curb,我在使用ruby-curl绑定进行FTP下载时遇到问题 看起来,当扩展被动模式失败时,路缘不会退回到简单被动模式。从日志中摘录如下: < 250 Directory changed to /outgoing/productcatalog/35591 > EPSV * Connect data stream passively < 229 Entering Passive Mode (|||40938|) * Trying 216.34.207.42... * Connect

我在使用ruby-curl绑定进行FTP下载时遇到问题

看起来,当扩展被动模式失败时,路缘不会退回到简单被动模式。从日志中摘录如下:

< 250 Directory changed to /outgoing/productcatalog/35591
> EPSV
* Connect data stream passively
< 229 Entering Passive Mode (|||40938|)
*   Trying 216.34.207.42... * Connecting to 216.34.207.42 (216.34.207.42) port 40938
* Connection failed
* Expire cleared
* Closing connection #0
<250目录更改为/outgoing/productcatalog/35591
>EPSV
*被动连接数据流
<229进入被动模式(| | | 40938 |)
*正在尝试216.34.207.42…*连接到216.34.207.42(216.34.207.42)端口40938
*连接失败
*过期清除
*正在关闭连接#0
然后在中抛出Curl::Err::ConnectionFailedError:无法连接到服务器

但是,如果在命令行中使用curl,则

< 250 Directory changed to /outgoing/productcatalog/35591
> EPSV
* Connect data stream passively
< 229 Entering Passive Mode (|||43267|)
*   Trying 216.34.207.42... Connection refused
* couldn't connect to host
* got positive EPSV response, but can't connect. Disabling EPSV
> PASV
< 227 Entering Passive Mode (216,34,207,42,169,4)
*   Trying 216.34.207.42... connected
<250目录更改为/outgoing/productcatalog/35591
>EPSV
*被动连接数据流
<229进入被动模式(| | | 43267 |)
*正在尝试216.34.207.42。。。拒绝连接
*无法连接到主机
*EPSV呈阳性反应,但无法连接。禁用EPSV
>PASV
<227进入被动模式(216,34207,42169,4)
*正在尝试216.34.207.42。。。有联系的

解决方案是完全禁用epsv,但使用路缘似乎不可能,没有这样的选项。在这种情况下可以做些什么?

禁用EPSV的libcurl选项是一个简单的布尔选项,而curb应该已经支持许多其他类似的选项。添加对此的支持应该是相当简单的。

禁用EPSV的libcurl选项是一个简单的布尔选项,而curb应该已经支持许多其他类似的选项。添加对此的支持应该是相当简单的。

Digg这个问题,我也遇到了这个狗屎-我可以使用-在curl中禁用epsv,但似乎没有办法在路缘中设置?在C API中,它显示了CURLOPT_FTP_USE_EPSV是一个选项,但我在CURB中看不到这个选项。最终,我使用backticks调用了普通curl。Digg这个问题,我也遇到了这个狗屎-我可以使用-在curl中禁用EPSV,但似乎无法在CURB中设置?在C API中,它显示了CURLOPT_FTP_USE_EPSV是一个选项,但我在Curb中看不到这个选项,最终我使用backticks调用了普通curl。