你的意思是urllib2.urlopen吗?
如果服务器通过检查发送 Content-Disposition 标头,您可能会提升预期的文件名,但我认为您只需要解析 url。remotefile.info()['Content-Disposition']
您可以使用urlparse.urlsplit
,但如果您有第二个示例中的任何 URL,则无论如何您最终都必须自己提取文件名:
>>> urlparse.urlsplit('http://example.com/somefile.zip')
('http', 'example.com', '/somefile.zip', '', '')
>>> urlparse.urlsplit('http://example.com/somedir/somefile.zip')
('http', 'example.com', '/somedir/somefile.zip', '', '')
不妨这样做:
>>> 'http://example.com/somefile.zip'.split('/')[-1]
'somefile.zip'
>>> 'http://example.com/somedir/somefile.zip'.split('/')[-1]
'somefile.zip'