Last modified: Jan 10, 2023 By Alexander Williams
Python: How to check if URL is reachable
In this tutorial, I'll show you an efficient way to check if the URL is reachable and, for this purpose, we'll use the requests library.
Install requests via pip:
pip install requests
Now let's write the checker code.
import requests
def url_checker(url):
try:
#Get Url
get = requests.get(url)
# if the request succeeds
if get.status_code == 200:
return(f"{url}: is reachable")
else:
return(f"{url}: is Not reachable, status_code: {get.status_code}")
#Exception
except requests.exceptions.RequestException as e:
# print URL with Errs
raise SystemExit(f"{url}: is Not reachable \nErr: {e}")
What we've did?
- requesting for the URL using the get method
- checking if the request status is 200
We've use Try and Except to handle the exceptions of requests library.
requests.exceptions.RequestException: All exceptions that Requests explicitly raises inherit from.
Now, it's time to test our program.
url_checker("http://pytutorial.com")
Output:
http://pytutorial.com: is reachable
Try a URL that's not working.
url_checker("http://notworking.com")
Output:
http://notworkingnot.com: is Not reachable Err: HTTPConnectionPool(host='notworkingnot.com', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ffad7fc6850>: Failed to establish a new connection: [Errno -2] Name or service not known'))