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 786055e..1279322 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -2273,8 +2273,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