Python SFTP Bloomberg Data License - Paramiko

Кто-нибудь знает о решении Python для sftp в сервис Bloomberg предприятия. Мы конвертируем некоторую работу Bloomberg из Mathworks в Python. Исторически я мог бы сделать это в Mathworks, используя эту функцию, используя функцию bdl.

username = 'xxxxx';
password = 'xxxxxxxx';
hostname = 'dlsftp.bloomberg.com';
portnumber = 30206;
decrypt = 'nAcLeZ';

c = bdl(username,password,hostname,portnumber,decrypt)

Какие-нибудь мысли? Спасибо!

1 ответ

Решение

Хорошо, для всех, кому нужен прокси SOCKS через Bloomberg, вот что я сделал, и это работает:

После некоторых исследований, кажется, расшифровать не нужно. Этот код работает, просто обязательно включите два файла для теста: ('readme.txt','readme-test.txt') на вашем сервере Bloomberg, используя RequestBuilder или WinSCP.

# coding: utf-8

import paramiko
import socket
import socks


proxy_details = {'host': "xxx",
             'port': 1080,
             'username': "xxx",
             'password': "xxx"}

auth_credentials = {'host': "sftp.bloomberg.com",
                'username': "dlxxxxxx",
                'password': "xxxxxx"}

s = socks.socksocket()

s.set_proxy(
  proxy_type=socks.SOCKS5,
  addr=proxy_details['host'],
  port=proxy_details['port'],
  username=proxy_details['username'],
  password=proxy_details['password']
)

#setup the SFTP client using the connected socket
s.connect((auth_credentials['host'],22))
transport = paramiko.Transport(s)
transport.connect(username=auth_credentials['username'],
              password=auth_credentials['password'])

# start SFTP Client from SSH transport
sftp = paramiko.SFTPClient.from_transport(transport)  #.get_transport() was appended


#will download readme.txt from the remote server, and save as the filename in the second argument
sftp.get('readme.txt','readme-test.txt')

#Test whether transport is authenticated
print (transport.is_authenticated())

# cleanup
sftp.close()
transport.close()
Другие вопросы по тегам