curlftpfs funktioniert nicht bei einem Benutzernamen mit einem "@"

7336
Asaf

Mein Hosting-Unternehmen erstellt alle meine Benutzernamen mit einem "@".

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

Aus irgendeinem Grund bekomme ich eine Antwort

Fehler beim Verbinden mit FTP: Host "domain.com:pass" konnte nicht aufgelöst werden

Ich denke, dass versucht wird, sich ohne das Passwort
(aufgrund des @ -Zeichen) mit user@domain.com zu verbinden.

4

2 Antworten auf die Frage

4
Majenko

cURL interpretiert alles nach dem ersten @ -Zeichen als Domäne, zu der eine Verbindung hergestellt werden soll. Was Sie tun müssen, ist entweder, cURL in die Arbeit ohne das erste @ -Zeichen zu täuschen, oder eine andere Möglichkeit zu finden, CurlFtpFS Ihren Benutzernamen mitzuteilen.

Ersteres kann möglicherweise durch Ersetzen des @ durch die mit% 40 codierte URL erfolgen. Möglicherweise funktioniert es auch nicht. Versuchen Sie es und sehen Sie es an.

Die andere Möglichkeit besteht darin, festzustellen, ob in CurlFtpFS ein --usernameoder --user-Parameter vorhanden ist, der verwendet werden kann, anstatt ihn in die URL aufzunehmen. Ich bin mit CurlFtpFS nicht genug vertraut, um zu wissen, ob es keine Hand gibt. Die Handbuchseiten sollten Ihnen sagen, ob es welche gibt oder nicht.

Heiliger Mist, ich habe diesen Befehl ausgeführt sudo curlftpfs -o allow_other ftp: //user%40domain.com: pass@domain.com/ ~ / domain / Und jetzt kann ich aus irgendeinem Grund kein "ls" in meinem Heimatverzeichnis machen ! Asaf vor 13 Jahren 0
@Asaf: Wenn Sie `ls` ausführen, ruft es stat () für jedes Element im Verzeichnis auf. Wenn es "~ / domain" erreicht, muss es warten, bis curlftpfs antwortet. (Für dieses Problem lege ich normalerweise alle Remote-Mountpoints in ein separates Verzeichnis, wie zum Beispiel `~ / fs /` oder `~ / mnt /`.) Da curlftpfs FUSE-basiert ist, können Sie den Prozess abbrechen, wenn er auch hängt lange. grawity vor 13 Jahren 2
3
3498DB

Ich frage mich, ob Sie den -oSchalter vermissen, so dass Ihr Beispiel oben:

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

sollte sein:

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

Funktioniert es?