From: Guido van Rossum Date: Fri, 4 Aug 1995 04:39:30 +0000 (+0000) Subject: new sendport() interface; add test() program call X-Git-Tag: v1.3b1~119 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=221ec0b97abab7c7444355370ddf4819d808e59c;p=thirdparty%2FPython%2Fcpython.git new sendport() interface; add test() program call --- diff --git a/Lib/ftplib.py b/Lib/ftplib.py index f27ab06ac5dd..8801dfde364d 100644 --- a/Lib/ftplib.py +++ b/Lib/ftplib.py @@ -198,10 +198,8 @@ class FTP: self.voidresp() # Send a PORT command with the current host and the given port number - def sendport(self, port): - hostname = socket.gethostname() - hostaddr = socket.gethostbyname(hostname) - hbytes = string.splitfields(hostaddr, '.') + def sendport(self, host, port): + hbytes = string.splitfields(host, '.') pbytes = [`port/256`, `port%256`] bytes = hbytes + pbytes cmd = 'PORT ' + string.joinfields(bytes, ',') @@ -213,8 +211,9 @@ class FTP: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('', 0)) sock.listen(1) - host, port = sock.getsockname() - resp = self.sendport(port) + dummyhost, port = sock.getsockname() # Get proper port + host, dummyport = self.sock.getsockname() # Get proper host + resp = self.sendport(host, port) return sock # Send a port command and a transfer command, accept the connection @@ -439,3 +438,7 @@ def test(): ftp.retrbinary('RETR ' + file, \ sys.stdout.write, 1024) ftp.quit() + + +if __name__ == '__main__': + test()