ftplib을 사용하여 FTP 클라이언트를 만들었습니다. 내 우분투 가상 머신 중 하나와 다른 클라이언트에서 서버를 실행 중입니다. ftplib을 사용하여 서버에 연결하려면 다음과 같이하십시오.ftplib (Python)에서 IP 주소를 사용할 수 없습니다.
host = "IP address of the server"
port = "Port number of the server"
ftpc = FTP()
ftpc.connect(host, port)
다음 오류가 발생합니다.
Traceback (most recent call last):
File "./client.py", line 54, in <module>
ftpc.connect(host, port)
File "/usr/lib/python2.7/ftplib.py", line 132, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.error: [Errno 111] Connection refused
내가 파이썬 문서를 살펴본 결과 FTP ("도메인 이름")처럼 도메인 이름에만 사용되는 ftplib를 볼 수있었습니다. 도메인 이름 대신 IP 주소를 사용할 수 있습니까? 제 경우에는 오류를 이해할 수 없습니다. 누구든지 나를 도울 수 있다면 좋을 것입니다.
또한 내 서버에서 포트 21을 사용하는 경우 소켓 오류가 발생합니다. 연결이 거부되었습니다. FTP 서버에 포트 21을 어떻게 사용합니까?
감사합니다.
connection refused는 코드가 실제로 원격 주소에 도달했음을 의미하지만 해당 컴퓨터가 ftp 서버를 실행하지 않거나 포트가 방화벽으로 연결되어 있음을 의미합니다. DNS 이름을 사용하면 아무 의미가 없습니다. 단순히 추상화 계층 일뿐입니다. 어쨌든 모든 것이 후드 아래의 IP에서 실행됩니다. –
답장을 보내 주셔서 감사합니다. 포트가 방화벽으로 연결되어 있는지 어떻게 확인합니까? FTP 서버를 호스팅하는 서버의 – harnex
을 실행하려면'iptables --list'를'root' 또는'sudo iptables --list'로 실행하십시오. – pcurry