Python 的 FTP 库连接到 IP 但不是其域

Python's FTP library connects to an IP but not its domain

我正在使用 ftplib 的 FTP class 连接到 ftp://emi.nasdaq.com。使用域不起作用,但使用 FileZilla 我可以看到域名解析到的 IP 地址,并且 IP 地址有效。

def main():
print("Grabbing data...")
with FTP() as ftp:
    ftp.connect('ftp://emi.nasdaq.com', 21)

具体来说,域抛出 GAIError([Errno 11001] getaddrinfo 失败)。我正在使用 Python 3.8。在将域传递给 FTP class?

之前,如何将域解析为其 IP

ftplib docs 建议使用不带前导的地址 ftp:// 我做到了

from ftplib import FTP
ftp = FTP()
ftp.connect('emi.nasdaq.com',21)
ftp.login()
ftp.retrlines('LIST')
ftp.quit()

输出为

07-27-13  04:30PM       <DIR>          aspnet_client
03-21-13  09:31AM       <DIR>          Baltic
07-21-21  02:42PM       <DIR>          Basic_NLS
05-21-19  08:29AM       <DIR>          Index
07-21-21  02:44PM       <DIR>          ITCH
08-21-20  02:07PM       <DIR>          Nasdaq Canada
08-05-19  09:31AM       <DIR>          Nordic
07-19-21  10:11AM       <DIR>          Options
12-01-20  09:49AM       <DIR>          Test
07-27-21  10:26AM       <DIR>          Web Based Reports
09-09-21  05:38PM                  168 web.config