Reputation: 57650
I am catching exceptions like this,
def get_url_fp(image_url, request_kwargs=None):
response = requests.get(some_url, **request_kwargs)
response.raise_for_status()
return response.raw
try:
a = "http://example.com"
fp = get_url_fp(a)
except HTTPError as e:
# Need to check its an 404, 503, 500, 403 etc.
Upvotes: 101
Views: 122451
Reputation: 1818
If you need only status_code or message error. You can use this code:
try:
[YOUR CODE]
except requests.exceptions.HTTPError as err:
print(err.response.status_code)
print(err.response.text)
Reference: Source code for requests.exceptions
Upvotes: 11
Reputation: 8
This is my code to get errors codes in HTTP
def tomcat_status(ip,port,url):
try:
# you can give your own url is
r = urllib2.urlopen('http://'+ip+':'+port+'/'+url)
return r.getcode()
except urllib2.HTTPError as e:
return e.code
except urllib2.URLError as f:
return 1
print tomcat_status(ip,tomcat_port,ping_url)
Upvotes: -10
Reputation: 15518
The HTTPError
carries the Response
object with it:
def get_url_fp(image_url, request_kwargs=None):
response = requests.get(some_url, **request_kwargs)
response.raise_for_status()
return response.raw
try:
a = "http://example.com"
fp = get_url_fp(a)
except HTTPError as e:
# Need to check its an 404, 503, 500, 403 etc.
status_code = e.response.status_code
Upvotes: 181