私はsftpサーバーからファイルをダウンロードするにはpython sftpクライアントが必要です。私はパラミコを使い始めた。 KBの小さなファイルは正常に動作しますが、600 MBのファイルをダウンロードしようとすると、20 MBのファイルをダウンロードした後、無期限にハングします。問題が何であるか把握できません。ウィンドウサイズを大きくしても問題は解決しませんでした。どんな助けでも大歓迎です!私は同様の問題を解決するために二つのことでしたparamikoが所有した後に取得20 MBのファイル
host = config.getsafe(section, "host")
username = config.getsafe(section, "username")
port = config.getsafe(section, "port")
remote_dir = config.getsafe(section, "remote_dir")
download_dir = config.getsafe(section, "download_dir")
archive_dir = config.getsafe(section, "archive_dir") if config.has_option(section, "archive_dir") else \
None
password = config.getsafe(section, "password") if config.has_option(section, "password") else None
file_pattern = config.getsafe(section, "file_pattern") if config.has_option(section, "file_pattern") \
else "*"
passphrase = config.getsafe(section, "passphrase") if config.has_option(section, "passphrase") else None
gnupg_home = config.getsafe(section, "gnupg_home") if config.has_option(section, "gnupg_home") else None
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, port=int(port), username=username, password=password)
sftp = ssh.open_sftp()
sftp.sshclient = ssh
sftp.get("/SFTP/PL_DEV/test.dat", "C:/import/download/test.dat")
パケットキャプチャ(Wiresharkを使用)を実行して、何が起こっているのかを正確に調べます。また、スタンドアロンのSFTPクライアントを使用して同じファイルをダウンロードし、そのファイルが動作するかどうか確認してください。 –
filezillaのようなスタンドアロンのsftpクライアントは完全に動作します – Ram