我正在尝试通过 pysftp 发送一些文件,身份验证似乎很好,但实际上将文件放入它会导致它挂起,什么也不做。这些文件很小(<200kb),所以我不认为这是一个上传问题(互联网访问很好)。最终连接超时。
代码:
if os.listdir(ftp_path):# only do if files are there
with pysftp.Connection(FTP_SERVER,
port=FTP_PORT
username=FTP_USER,
private_key=FTP_SSH_PRIVATE_KEY_PATH
) as sftp:
with sftp.cd(FTP_REMOTE_FOLDER):
for f in os.listdir(ftp_path):
if os.path.isfile(os.path.join(ftp_path,f)) :
# upload image to server
self.log.info("HB FTP, Start upload: "+f)
print(ftp_path+"\\"+f)
sftp.put(os.path.join(ftp_path,f))
self.log.info("HB FTP, Finished Upload: "+f)
在此处记录输出:
FSW_COMMS paramiko.transport 01/24/2015 04:23:58 PM: INFO: Authentication (publickey) successful!
FSW_COMMS paramiko.transport 01/24/2015 04:23:58 PM: DEBUG: [chan 1] Max packet in: 32768 bytes
FSW_COMMS paramiko.transport 01/24/2015 04:23:58 PM: DEBUG: [chan 1] Max packet out: 0 bytes
FSW_COMMS paramiko.transport 01/24/2015 04:23:58 PM: DEBUG: Secsh channel 1 opened.
FSW_COMMS paramiko.transport 01/24/2015 04:23:58 PM: DEBUG: [chan 1] Sesch channel 1 request ok
FSW_COMMS paramiko.transport.sftp 01/24/2015 04:23:58 PM: INFO: [chan 1] Opened sftp connection (server version 3)
FSW_COMMS paramiko.transport.sftp 01/24/2015 04:23:58 PM: DEBUG: [chan 1] normalize('.')
FSW_COMMS paramiko.transport.sftp 01/24/2015 04:23:58 PM: DEBUG: [chan 1] stat('files')
FSW_COMMS paramiko.transport.sftp 01/24/2015 04:23:58 PM: DEBUG: [chan 1] normalize('files')
FSW_COMMS root 01/24/2015 04:23:58 PM: INFO: HB FTP, Start upload: 2015-01-17-19-37-07.jpg
FSW_COMMS paramiko.transport.sftp 01/24/2015 04:23:58 PM: DEBUG: [chan 1] open('/files/2015-01-17-19-37-07.jpg', 'wb')
FSW_COMMS paramiko.transport.sftp 01/24/2015 04:23:58 PM: DEBUG: [chan 1] open('/files/2015-01-17-19-37-07.jpg', 'wb') -> 34613039393262343666383036653839
非常感谢任何有关如何进一步调试的帮助或指示,
朱尔斯