Я получаю ошибку HTTP 500 при использовании python urllib2.open - PullRequest
1 голос
/ 06 декабря 2011

Код похож. URL-адрес - мой блог, и я хотел бы получить и сделать резервную копию своих сообщений в блоге. У меня все хорошо с другими постами в блоге, но с этим возвращаем 500 ошибок.

usock = urlopen("http://xiaoshuaistudio.ycool.com/post.4606754.html")
htmlSource = usock.read()
usock.close()

Можете ли вы помочь мне разобраться, как отлаживать ошибку HTTP 500?

Ответы [ 3 ]

2 голосов
/ 07 декабря 2011

Загружается содержимое страницы и возвращается ошибка 500. Но я сам не могу понять, имеет ли отношение содержание страницы.

Чтобы избежать ошибок на этой конкретной странице или веб-сайте, вы можете это сделать ( ПРЕДУПРЕЖДЕНИЕ это не очень красиво)

try:
  response = urlopen(url)
  content = response.read()
except HTTPError, e:
  if e.getcode() == 500:
    content = e.read()
  else:
    raise
0 голосов
/ 07 декабря 2011

Я думаю, что с сервером ycool.com что-то не так, потому что я не смог открыть этот URL с помощью своего веб-браузера.

http://xiaoshuaistudio.ycool.com/post.4606754.html

Этот веб-сервер всегда будет возвращатьсяstatus code 500 Internal Server Error для некоторого URL, который должен быть 200 OK.

Если функция urlopen проверяет только код состояния, она вернет эту ошибку (хотя сервер отправляет содержимое этой страницы).

0 голосов
/ 06 декабря 2011

Посмотрите логи сервера на вашем веб-сервере. Как правило, данные об ошибках будут в безопасности на сервере. Не рекомендуется создавать дампы для пользователей.

...