2017-02-02 6 views
3

Я изучаю Python, и я пытаюсь запросить доступ к веб-сайту с помощью запросов команд. Я делаю следующее:Запросы на Python Response 504

import requests 
requests.get("http://www.charitystars.com") 

Однако я получаю <Response [504]>, который должен быть ошибкой, поскольку команда суп soup = BeautifulSoup(r.content) возвращает пустую строку. Я пробовал с другими сайтами, и я получаю <Response [200]>, и суп работает. Поэтому я задаюсь вопросом, почему команда не работает на первом веб-сайте и что на самом деле означает Response 504.

+0

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes – jwodder

+0

@jwodder Спасибо. Тем не менее, я не понимаю. что это значит? это просто временно? Или есть способ справиться с этим? – tony

+1

'5xx' в основном означает, что у сервера есть некоторая внутренняя проблема, и вам нужно идти до тех пор, пока администраторы не сделают что-то с этой проблемой. – furas

ответ

4

Эта страница не любит скриптов/ботов и проверяет заголовок user-agent.

Ето также может понадобиться эта информация, чтобы отобразить правильную страницу - другую для настольных компьютеров, планшетов, смартфонов.

import requests 

headers = {'User-Agent': 'Mozilla/5.0'} 

r = requests.get("http://www.charitystars.com/", headers=headers) 

print(r.status_code) 

КСТАТИ:requests по умолчанию использует "User-Agent": "python-requests/2.12.1"

Вы можете использовать портал http://httpbin.org, чтобы увидеть ваши запросы.

import requests 

r = requests.get("http://httpbin.org/get") 

print(r.text) 
+0

не могли бы вы объяснить мне, почему он возвращает код 200, если я укажу заголовки? Спасибо! – tony

+0

некоторые серверы проверяют этот заголовок, чтобы распознать ваш браузер и его возможности, а затем они могут использовать разные методы для отображения страницы. Они используют его также для распознавания скриптов/ботов и отказа от доступа. – furas

+0

BTW: попробуйте 'r = request.get (" http://httpbin.org/get ")' и 'print (r.text)', и вы видите, что 'запросы' используются по умолчанию' 'User-Agent ': "питон-запросы/2.12.1" ' – furas

 Смежные вопросы

  • Нет связанных вопросов^_^