2017-10-20 7 views
0

나는 python을 사용하여 http 오류를 발견하고 있지만 오류 코드 (예 : 400, 403, ..)를 알고 싶습니다. 또한 오류 메시지를 받고 싶습니다. 그러나 설명서에서이 두 특성을 찾을 수 없습니다. 누구든지 도와 줄 수 있습니까? 고맙습니다.urllib3 HTTP 오류 코드 및 메시지를 찾는 방법

try: 
     """some code here""" 
    except urllib3.exceptions.HTTPError as error: 
     """code based on error message and code""" 

답변

0

왜 예외로 잡으시겠습니까? http 응답을보고 싶으므로 예외로 처리 할 필요가 없습니다.

당신은 단순히 당신의 HTTP 요청을하고이 같은 응답을 읽을 수 자세한 정보를 원하시면

import urllib3 
http = urllib3.PoolManager() 
req = http.request('GET', 'http://httpbin.org/robots.txt') 
status_code = req.status 
server_response = req.data 

확인 urllib3 readthedocs합니다.

0

당신이 "오류 메시지가"다음 예제와 같이 http.client에서 responses을 사용할 수 있습니다 말했을 때 당신은 HTTP 응답의 설명을 의미한다고 가정 :

import urllib3 
from http.client import responses 

http = urllib3.PoolManager() 
request = http.request('GET', 'http://google.com') 

http_status = request.status 
http_status_description = responses[http_status] 

print(http_status) 
print(http_status_description) 

... 실행 당신을 줄 것입니다 :

200 
OK 

내 예제.

도움이되기를 바랍니다. 문안 인사.