curlftpfs не работает для имени пользователя с "@"

7219
Asaf

Моя хостинговая компания делает все мои имена пользователей со знаком «@».

curlftpfs user="user@domain.com:pass" ftp://ftp.domain.com/ ~/domain/ 

Я почему-то получаю в ответ

Ошибка подключения к ftp: не удалось разрешить хост 'domain.com:pass'

Я думаю, что он пытается подключиться к user@domain.com без пароля
(из-за знака @)

4

2 ответа на вопрос

4
Majenko

cURL интерпретирует все после первого знака @ как домен для подключения. Вам нужно либо обмануть cURL, чтобы он работал без первого знака @, либо найти какой-нибудь другой способ сообщить CurlFtpFS ваше имя пользователя.

Первое можно сделать, заменив @ на URL, закодированный% 40 - это может или не может работать - попробуйте и посмотрите.

Другой способ - проверить, есть --usernameли --userпараметр CurlFtpFS или для которого можно использовать вместо включения его в URL. Я не достаточно знаком с CurlFtpFS, чтобы знать, есть ли или нет от руки. Страницы руководства должны сказать вам, если есть или нет.

Черт побери, я выполнил эту команду: sudo curlftpfs -o allow_other ftp: //user%40domain.com: pass@domain.com/ ~ / domain / И теперь по какой-то причине я не могу сделать "ls" в моем домашнем каталоге ! Asaf 13 лет назад 0
@Asaf: когда вы запускаете `ls`, он вызывает stat () для каждого элемента в каталоге; когда он достигает `~ / domain`, он должен дождаться ответа curlftpfs. (Для этой проблемы я обычно помещаю все удаленные точки монтирования в отдельный каталог, такой как `~ / fs /` или `~ / mnt /`.) Поскольку curlftpfs основан на FUSE, вы можете убить его процесс, если он слишком зависает долго. grawity 13 лет назад 2
3
3498DB

Мне интересно, если вы пропустите -oпереключатель, так что ваш пример выше:

curlftpfs user="user@domain.com:pass" ftp://ftp.domain.com/ ~/domain/ 

должно быть:

curlftpfs -o user="user@domain.com:pass" ftp://ftp.domain.com/ ~/domain/ 

Это работает?

Похожие вопросы