Использование библиотеки запросов python для получения строки ошибки HTTP

Меня попросили перейти с библиотеки urllib2 на библиотеку requests, потому что эта библиотека проще в использовании и не вызывает исключений.

Я могу получить код ошибки HTTP с помощью response.status_code, но я не вижу способа получить сообщение об ошибке для этого кода. Обычно мне все равно, но я тестирую API, и строка не менее важна.

Кто-нибудь знает простой способ получить эту строку? Я ожидаю 2 части что-то вроде:

'400':'Bad Request'

person Keith    schedule 19.10.2016    source источник
comment
Ну, не очень элегантно, но я написал это, чтобы с ним было легче иметь дело: def GetHTTPErrorStr( self, error ): errStr = '' try: errStr = requests.status_codes._codes[error][0] except: errStr = 'Unknown HTTP Error in GetHTTPErrorStr' return errStr   -  person Keith    schedule 19.10.2016
comment
Я пытался добавить фрагменты кода, но это не работает ` def GetHTTPErrorStr( self, error ): errStr = '' try: errStr = request.status_codes._codes[error][0] за исключением: errStr = 'Неизвестная ошибка HTTP в GetHTTPErrorStr' возвращает errStr`   -  person Keith    schedule 19.10.2016
comment
На самом деле ... это, к сожалению, недостаточно хороший ответ. Некоторые из возвращаемых кодов имеют уникальные строки, отправляемые тестируемым приложением. Эти строки нельзя найти с помощью этого метода: request.status_codes._codes[error][0] Поскольку строка динамически поступает с внутреннего сервера. Я смог получить эту информацию, используя urllib, используя этот метод: кроме urllib2.HTTPError as err: try: error_message = err.read()   -  person Keith    schedule 19.10.2016