import requests
import logging
import sys
# Configure logging to suppress ResponseHeaders related errors
logging.getLogger("requests").setLevel(logging.WARNING)
def make_request(url, method='GET', **kwargs):
"""
Makes an HTTP request and handles potential ResponseHeaders errors.
Args:
url (str): The URL to request.
method (str): The HTTP method (GET, POST, etc.). Defaults to GET.
**kwargs: Additional keyword arguments to pass to the requests.get/post function.
Returns:
requests.Response: The response object if successful, None otherwise.
"""
try:
response = requests.request(method, url, **kwargs)
return response
except requests.exceptions.RequestException as e:
# Suppress ResponseHeaders errors specifically. Other exceptions are re-raised.
if "ResponseHeaders" in str(e):
logging.warning(f"Suppressing ResponseHeaders error for URL: {url}. Error: {e}")
return None
else:
# Re-raise other exceptions
raise e
if __name__ == '__main__':
# Example Usage:
url = "https://httpstat.us/404" #Example URL returning a 404
response = make_request(url)
if response:
print(f"Status Code: {response.status_code}")
#Process the response as needed.
else:
print(f"Request to {url} failed.")
Add your comment