Форум сайта python.su
5
Всем привет, сразу к делу:
import urllib.request url='http://tempfile.ru/download/459fc78e4fbcecd4f27666958c04abf0' name = ??? urllib.request.urlretrieve(url, name)
Офлайн
33
Вот содержимое headers:
Accept-Ranges →bytes
Connection →close
Content-Disposition →attachment; filename=“picture.tar”
Content-Length →721920
Content-Type →application/octet-stream
Date →Sat, 19 Jul 2014 10:24:00 GMT
Last-Modified →Mon, 26 Jul 1997 05:00:00 GMT
Server →nginx/0.7.62
Офлайн
5
Получилось так:
import urllib.request import cgi path='/home/user/new/' url='http://tempfile.ru/download/459fc78e4fbcecd4f27666958c04abf0' site=urllib.request.urlopen(url) attachment, params = cgi.parse_header(site.headers.get('Content-Disposition', '')) filename = params['filename'] urllib.request.urlretrieve(url, path+filename)
Офлайн
32
Если в имени будет кирилица (или т.п.) то возможно придется декодировать, см. http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
Офлайн