#python #python-requests
#python #python-запросы
Вопрос:
Я никогда раньше не работал с заголовками, поэтому я не совсем уверен, как ориентироваться в этой концепции. Пока это то, что у меня есть:
from requests import get
headers = get("https://vidstream.pro/download/26J3NXZV3JRD").headers
print(headers)
Вывод:
{'Date': 'Tue, 24 Nov 2020 17:12:50 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Set-Cookie': '__cfduid=de19002bc82cc0152df0e675967904edd1606237969; expires=Thu, 24-Dec-20 17:12:49 GMT; path=/; domain=.vidstream.pro; HttpOnly; SameSite=Lax, ss=0f822c119ef8358061bd2aab0d866733; path=/', 'x-dmc': 'b0', 'CF-Cache-Status': 'DYNAMIC', 'cf-request-id': '069cd7764a0000efdc3498c000000001', 'Expect-CT': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', 'Report-To': '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report?s=KaXnb7QE+yEEvl4PXrBbY68uoj54uTnJLml8TqjShKgAvv2C6hxr6+oIkyciuNS4MDrviGrczaSVVD02TGd0hPGph8KSxf2DRS4QdPM/"}],"group":"cf-nel","max_age":604800}', 'NEL': '{"report_to":"cf-nel","max_age":604800}', 'Server': 'cloudflare', 'CF-RAY': '5f74c1d0780aefdc-EWR', 'Content-Encoding': 'gzip'}
Но когда я делаю:
print(headers.get("location"))
чтобы получить одну часть информации, которая мне нужна отсюда:
он возвращается None
, потому что не может его найти.
Мне было интересно, можно ли скрыть заголовки с помощью Javascript. Я действительно не уверен, как это сделать.
Комментарии:
1. В
headers
распечатке словаря, которая у вас есть в вашем вопросе, нет ключа ‘location’2. @Steve ах, ты прав. Это странно, потому что оно находится в заголовках на изображении. Я пытаюсь найти содержимое заголовка
location
, но, похоже, оно скрыто при использованииrequests
.3. Ничего не «скрыто». Существует только HTTP-запрос и соответствующий ответ. То, что вы получаете в ответ, определяется исключительно тем, что было в запросе. Вы можете увидеть, какие запросы заголовков отправляются, выполнив запрос, а затем выполнив это с ответом:
print(r.request.headers)
4. @Steve хорошо, вы правы. я изучил его подробнее, и оказалось, что заголовки на самом деле меняются, если вы нажмете на кнопку «загрузить» несколько раз. я предполагаю, что он должен пинговать или отправлять запрос на фактическую ссылку для скачивания, возможно, или из-за того, что реклама мешает сначала, я действительно не слишком уверен.