Доступ и загрузка файла из Интернета (WordPress-сервер) - HTTP Ошибка 403 Запрещено - PullRequest
0 голосов
/ 19 октября 2018

У меня есть WordPress сайт с формой в нем из Gravity Forms.В некоторых полях формы пользователи должны загрузить файл.Я использую GF API для извлечения записей формы, в частности полей, в которые пользователям приходилось загружать файлы, с помощью urllib.urlopener.

на языке Python.запись файла на мой локальный диск, но проблема в том, что я получаю это как ошибку:

IOError: ('http error', 403, 'Forbidden', <httplib.HTTPMessage instance at 0x0000000004770C88>)

Это происходит только с URL-адресами загруженных файлов из записей.Все остальные общедоступные PDF-файлы работают, и я могу записать их на свой диск с помощью response.content.

Я добавил заголовки к объекту urllib.URLopener.addheader.Но почему мне запрещено?

1 Ответ

0 голосов
/ 21 октября 2018

Проблема не в том, что у меня был запрещенный доступ.Я знал, что с самого начала.

Исправление заключается в использовании запросов, как показано во втором примере верхнего решения здесь , но добавьте свои заголовки в формате dict, например:

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36','Content-Type': 'application/pdf'}
r = requests.get(url, headers=headers)
with open(saver, 'wb') as f:
    f.write(r.content)

urllib не работает ... все еще не знаю почему.

...