我正在尝试使用密码和客户端证书设置 FTPS 连接,但在建立连接后,我无法检索目录列表或任何内容...当我使用 set_pasv(False) 时,它要么挂起(不执行任何操作),要么显示 500 非法 PORT 命令。这是使用 curl(有效)和 Python 时发生的情况:
niels@nielshome:~$ curl -u testuser --ftp-ssl --cert client.crt --key client.key ftp://portal.xxxxx.nl/HLCDSXX_103-001-001_GTAACCGA-AAGACACC_L003_R2.fastq.gz -O
Enter host password for user 'testuser':
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
5 2044M 5 114M 0 0 12.2M 0 0:02:47 0:00:09 0:02:38 12.5M^C
niels@nielshome:~$ python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from ftplib import FTP_TLS
>>> ftps = FTP_TLS('portal.xxxxx.nl',keyfile='/home/niels/client.key',certfile='/home/niels/client.crt', user='testuser', passwd='blabla')
>>> a = ftps.mlsd()
>>> for f in a:
... print(f)
在此之后什么也没有发生...我一直在等待......当我说 passv false 时,它只会说非法端口命令,就像我上面说的那样。