merge from 3.3
Fix #17967: For ftp urls CWD to target instead of hopping to each directory
towards target. This fixes a bug where target is accessible, but parent
directories are restricted.
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index fdb1ec8..1de6aae 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -2303,8 +2303,7 @@
self.ftp = ftplib.FTP()
self.ftp.connect(self.host, self.port, self.timeout)
self.ftp.login(self.user, self.passwd)
- for dir in self.dirs:
- self.ftp.cwd(dir)
+ self.ftp.cwd(os.path.join(*self.dirs))
def retrfile(self, file, type):
import ftplib