1. import requests
  2. import time
  3. def fetch_api_resource_with_timeout(url, timeout=5):
  4. """
  5. Fetches a resource from an API URL with a timeout.
  6. Args:
  7. url (str): The URL of the API resource.
  8. timeout (int): The timeout in seconds.
  9. Returns:
  10. requests.Response: The response object if successful, None otherwise.
  11. """
  12. try:
  13. response = requests.get(url, timeout=timeout) # Make the API request
  14. response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx)
  15. return response
  16. except requests.exceptions.RequestException as e:
  17. print(f"Error fetching resource from {url}: {e}")
  18. return None
  19. if __name__ == '__main__':
  20. # Example usage
  21. api_url = "https://rickandmortyapi.com/api/character" #Example API
  22. response = fetch_api_resource_with_timeout(api_url)
  23. if response:
  24. print(f"Status code: {response.status_code}")
  25. #Process the response data (e.g., parse JSON)
  26. #print(response.json())
  27. else:
  28. print("Failed to fetch resource.")

Add your comment