pas de route vers l'hôte d'erreur 113
Si construit un script qui se connecte à un serveur ftp.J'ai testé en local sur mon pc et sa fonctionne, mais sur le serveur, il dit: (113, 'No route to host'). Si je le connecte par shell avec ftp XX.XX.XX.XX son travail bien! C'est la façon dont j'essaie de me connecter en python:
import ftplip
meinftp = ftplib.FTP(ip)
meinftp.login(user,password)
meinftp.cwd(ftpdirectory)
Des idées pourquoi je n'ai pas de route vers l'hôte? Le pare-feu ne bloque pas.
Vous devez vous connecter pour publier un commentaire.
Je suis d'accord que strace est un bon outil, mais il peut être un peu intimidant si vous n'êtes pas familier avec elle, ou au moins, familier avec C.
Au sujet de l'utilisation de strace et outils similaires à des fins de débogage:
http://stromberg.dnsalias.org/~strombrg/debugging-with-syscall-tracers.html
python renvoie 113 'No route to host", même si le nom DNS est disponible, mais le service ne fonctionne pas.
Peut être spécifique pour le FTP passif options.
Exécuter votre script avec le "strace" donc vous serez à même de vérifier ce que syscall est un échec.
strace -fo /tmp/log python yourscript.py
C'est probablement un problème de firewall, essayez de désactiver le pare-feu.
Voir aussi https://stumbles.id.au/python-ftps-and-mis-configured-servers.html
Le cite: "finalement, j'ai remarqué un message dans le FileZilla journaux, Serveur a envoyé passive répondre avec unroutable adresse. À l'aide de l'adresse du serveur à la place. Il s'avère que le FTPS serveur est mal configuré, et a été la réponse à la commande PASV avec une adresse IP interne qui n'était pas accessible depuis l'internet public. Il semble que ce est une commune assez de problème de configuration que certains clients FTP de détecter le problème et d'utiliser le serveur d'adresse à la place. Python client FTP n'est pas de faire cela."