diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/urllib2.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Lib/urllib2.py b/Lib/urllib2.py index f9e6bf2..5882de6 100644 --- a/Lib/urllib2.py +++ b/Lib/urllib2.py @@ -956,11 +956,14 @@ class FTPHandler(BaseHandler): value in ('a', 'A', 'i', 'I', 'd', 'D'): type = value.upper() fp, retrlen = fw.retrfile(file, type) + headers = "" + mtype = mimetypes.guess_type(req.get_full_url())[0] + if mtype: + headers += "Content-Type: %s\n" % mtype if retrlen is not None and retrlen >= 0: - sf = StringIO('Content-Length: %d\n' % retrlen) - headers = mimetools.Message(sf) - else: - headers = noheaders() + headers += "Content-Length: %d\n" % retrlen + sf = StringIO(headers) + headers = mimetools.Message(sf) return addinfourl(fp, headers, req.get_full_url()) except ftplib.all_errors, msg: raise IOError, ('ftp error', msg), sys.exc_info()[2] |