Search code examples
pythonrequesthttp-status-code-200

Python request behaviour


I want to check if a website exists. I use the request module to make a get request and check the status code after the request was made.

    def check_website_exist(self, url):
        result = True
        request = requests.get("http://"+url)
        print(request.status_code)
        if request.status_code == 200:
            output.info("website found!")
            return result
        else:
            output.error("website not found!")
            result = False
            return result

When I make a request for the site 'www.isdfugpdohsiughsdopiughdsfoiguf.com' I get the status code 200, even though the site doesn't exists. Why do I get a 200 status code, but the website doesn't exist?


Solution

  • Here is an example of how to do it. you are not catching the possible errors.

    import requests
    from requests.exceptions import ConnectionError
    try:
        url = "http://www.isdfugpdohsiughsdopiughdsfoiguf.com"
        request_url = requests.get(url)
        print(request_url.status_code)
    except ConnectionError:
        print("No exist")