Обуздать проблему epsv - PullRequest
2 голосов
/ 23 декабря 2009

У меня проблема с использованием 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... * Connecting to 216.34.207.42 (216.34.207.42) port 40938
* Connection failed
* Expire cleared
* Closing connection #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

Решение было бы полностью отключить epsv, но это кажется невозможным с Curb, такой опции нет. Что можно сделать в этой ситуации?

1 Ответ

0 голосов
/ 22 января 2011

Опция libcurl для отключения EPSV - это простая логическая опция, и обочина уже должна поддерживать множество других подобных опций. Добавление поддержки для этого должно быть довольно тривиальным.

...