Python запрашивает HTTP-ответ 406 - PullRequest
0 голосов
/ 12 мая 2019

У меня есть свой собственный домен, где хранится файл json (http://example.com/file.json). При доступе к файлу в браузере по прямой ссылке, json возвращается просто отлично. Но при использовании того же подхода в моем коде Python ниже, http ответ 406 . Есть идеи почему?

import requests
url = 'http://example.com/file.json'
r = requests.get(url, headers={"Accept":"text/html"})
print(r.status_code)
print(r.headers)

Печать:

406
{'Server': 'nginx/1.14.1', 'Date': 'Sun, 12 May 2019 16:53:25 GMT', 'Content-Type': 'text/html; charset=iso-8859-1', 'Content-Length': '226', 'Connection': 'k
eep-alive'}

1 Ответ

1 голос
/ 13 мая 2019

Решено с помощью другого User-Agent.Пользовательский агент Python по умолчанию 'python-requests/2.21.0', вероятно, был заблокирован хостинговой компанией.

r = requests.get(url, headers={"User-Agent": "XY")

Некоторые из возможных агентов: Список строк пользовательских агентов

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