Загрузка файлов с использованием запросов Python - PullRequest
0 голосов
/ 12 июня 2018

Я пишу скрипт для загрузки файлов из Slack, используя API Slack и библиотеку запросов в Python.Каждый раз, когда я загружаю файл, все они выходят одинакового размера (80 КБ), и все они повреждены.

Вот мой код:

def download_file(url, out):
    try:
        os.stat(out)
    except:
        os.mkdir(out)

    local_filename = out + '\\' + url.split('/')[-1]
    print('outputting to file: %s' % local_filename)

    response = requests.get(url, stream=True)
    with open(local_filename, 'wb') as f:
        response.raw.decode_content = True
        shutil.copyfileobj(response.raw,f)
    return local_filename

Я пробовал различные методы, опубликованные в SO, чтобы загрузить файлы, но безуспешно.Я также проверил URL-адреса, которые я получаю от Slack API, и они верны, поскольку я могу вставить их в свой браузер и загрузить файл.

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 14 июня 2018

Я разобрался в своей проблеме.Поскольку я использую частную ссылку для загрузки изображения из файлового объекта Slack API, мне нужно было добавить заголовок в дополнение к базовому запросу с токеном.Для этого используется API запросов:

response = request.get(url,stream = True, headers={'Authorization':'Bearer ' + my_token})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...