2009-12-23 4 views
2

У меня возникла проблема с использованием Curb (привязки рубинового завитка) для загрузки FTP.Curb epsv problem

Похоже, что бордюр не возвращается в простой пассивный режим, когда расширенный пассивный режим выходит из строя. Выписка из журнала следующим образом:

< 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: не удалось подключиться к серверу

Однако, если я использую локон в командной строке, я получаю

< 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 это невозможно сделать, такого варианта нет. Что можно сделать в этой ситуации?

+0

Digg этот вопрос, я тоже сталкиваюсь с этим дерьмом - я могу использовать --disable-epsv в curl, но, похоже, не в настройке CURB? в C API он показывает, что CURLOPT_FTP_USE_EPSV является опцией, но я не вижу, что это доступно в curb –

+0

В конце концов я в конечном итоге назвал обычный завиток, используя обратные ссылки. –

ответ

0

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