2010-09-30 8 views
2

j'ai utilisé code suivant pour établir une connexion entre ma machine locale et la machine distante:Transférer des fichiers de machine Windows à la machine solaris à distance à l'aide de script python

import os, sys, ftplib 

nonpassive=False 
remotesite= '10.88.203.21:22' 
remoteuser='root' 
remotepass='[email protected]#' 
localdir= "c:\\.." 
print "connecting" 

connection=ftplib.FTP(remotesite) 
print "successfully connected" 

connection.login(remoteuser,remotepass) 

if nonpassive: 
    connection.set_pasv(False) 

Mais sa me donner l'erreur suivante: socket.gaierror: [Errno 11001] getaddrinfo échoué .. quelqu'un peut-il m'aider avec ça.

Répondre

2

Vous devez spécifier le port en tant qu'argument distinct, pas comme vous l'avez dans remotesite. Essayez:

remotesite = '10.88.203.21' 
port = 22 
connection = ftplib.FTP(remotesite, port) 

Voir le FTP docs pour plus d'informations.

+0

Bonjour, ça marche encore. m obtenir cette erreur: socket.error: [Errno 10061] Aucune connexion n'a pu être faite parce que la cible machi ne l'a activement refusé .. ??? – rushi

+0

@rushi: cela signifie qu'il n'y a pas de programme serveur écoutant au point de terminaison spécifié (adresse IP + port). Une possibilité est que vous avez le mauvais port - êtes-vous sûr que c'est le port 22? Essayez le port par défaut 21. – ars

+0

ouais j'ai essayé encore trop donner la même erreur. En fait, m nouveau à ce que vous ne savez pas beaucoup ... cud vous me dire wat cud être l'erreur possible que j'ai fait ???? – rushi

1

Si son port 22, alors vous utilisez un mauvais port, puisque la plupart des systèmes utilisent 22 pour le protocole SSH. En supposant que 22 est un port SSH normal, vous devriez vraiment utiliser scp/sftp. (essayez paramiko pour Python). Si vous êtes sûr que le serveur distant fonctionne sur FTP, utilisez le port 21 par défaut.

+0

ouais travaillé ... merci .. – rushi

+0

salut, même si elle se connecte n'accepte pas les informations d'identification m donnant .. je dois faire des changements dans tous les fichiers sur la machine distante ou dans la machine laocal pour cela. – rushi

+0

donc vous utilisez FTP droit? si elle n'accepte pas les informations d'identification, vérifiez votre mot de passe et votre nom d'utilisateur ... – ghostdog74

Questions connexes