Как мне заново создать pysftp.Connection с параметром прокси? - PullRequest
1 голос
/ 01 мая 2020

Я подключаюсь к SFTP-серверу, используя pysftp, но мне нужно перенастроить его на go через прокси. Поскольку pysftp не поддерживает его, я думаю об использовании Paramiko.

Похоже, я использую преимущества pysftp.Connection, поскольку, похоже, мой код использует рекурсивную передачу файлов.

Какие шаги мне нужно сделать, чтобы заново создать pysftp.Connection, но с возможностью использовать прокси? Просматривать кодовую базу немного страшно, так как я не уверен, что редактировать ...

1 Ответ

2 голосов
/ 01 мая 2020

Вы можете сделать:

import pysftp
import paramiko

hostname, prot = 'some.host.name', 22
proxy = paramiko.proxy.ProxyCommand('/usr/bin/nc --proxy proxy.foobar:8080 %s %d' % (hostname, port))
t = paramiko.Transport(sock=proxy)
t.connect(username='abc', password='123')

sftp = paramiko.SFTPClient.from_transport(t) # back to pysftp wrapper
sftp.listdir('.')

Вот источник кода, с некоторым обсуждением.

...