【问题标题】:connecting to an SFTP server via python通过 python 连接到 SFTP 服务器
【发布时间】:2020-10-22 17:17:14
【问题描述】:

我已经被堆叠了几天了。我想知道是否有人可以帮助我就如何连接到下面的 sFTP 服务器提出任何建议。 我试过的python代码如下:

import pysftp

with pysftp.Connection(host ='https://api1.datasource.eex-group.com ', username = 'blablabla', password ='blablabla') as sftp:
    
    print ('Connected!')

当这不起作用时,我尝试了这个:

import requests

r = requests.get('https://api1.datasource.eex-group.com', auth=(' username', 'password')) 

提前致谢!

【问题讨论】:

  • 我认为您不应该使用 https 地址连接到 stfp 服务器。尝试删除https:// 你能说明问题吗?
  • 您好丹尼尔,感谢您的回复!删除 https://:SSHException: No hostkey for host api1.datasource.eex-group.com 时出现以下错误。

标签: python server python-requests sftp pysftp


【解决方案1】:

你可以试试这个:

import pysftp
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None   
with pysftp.Connection(host ='https://api1.datasource.eex-group.com ', username = 'blablabla', password ='blablabla', cnopts=cnopts) as sftp:

print ('Connected!')

这里有一些解决这个问题的方法: "No hostkey for host ***** found" when connecting to SFTP server with pysftp using private key Verify host key with pysftp "No hostkey for ... found" in pysftp code even though cnopts.hostkeys is set to None

【讨论】:

  • 我认为我们在这里解决了一些问题,Daniel,只是这次你提供的代码出现了不同的错误。如下:gaierror: [Errno 11001] getaddrinfo failed and ConnectionException: ('api1.datasource.eex-group.com ', 22)。我搜索了第一个错误并添加了 import socket socket.getaddrinfo('127.0.0.1', 8080) 但这对我没有好处。还有什么建议吗?