2016-12-07 7 views
2

У меня есть что-то вроде этого:Получить имя файла перед загрузкой

demo_id = 'demoid=25044' 

download_link = "http://www.hltv.org/interfaces/download.php?"+demo_id 

print download_link 

with open(demo_id+'.rar', 'wb') as handle: 
    response = requests.get(download_link, stream=True) 

    print response.headers['Content-Type'] 

    if not response.ok: 
    # Something went wrong 
     print "fcuk" 

    for block in response.iter_content(1024): 
     handle.write(block) 

Если я по ссылке: http://www.hltv.org/interfaces/download.php?demoid=25044 Тогда получите запрос с загрузки и имя файла для этого. Есть ли способ получить это имя?

+2

[ 'Content-Disposition'] (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition)? – spectras

+0

Пожалуйста, исправьте свой пример - вам не хватает импорта, и я думаю, что может быть что-то еще не хватает. В общем, прочтите следующее: http://stackoverflow.com/help/mcve. Также покажите нам, что вы уже пробовали. –

ответ

0

Следующий код будет получать имя файла без загрузки файла для этой ситуации:

import requests 
import os 

demo_id = 'demoid=25044' 

download_link = "http://www.hltv.org/interfaces/download.php?"+demo_id 
downloadheaders = requests.head(download_link) 
header = downloadheaders.headers['location'] 
name = header.rsplit('/', 1)[-1] 
print name 
Смежные вопросы