python network_error ai_generated true

requests.exceptions.ConnectionError: HTTPConnectionPool(host='nonexistent.example.com', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x...>: Failed to establish a new connection: [Errno -2] Name or service not known'))

ID: python/requests-connectionerror-dns-failure

Also available as: JSON · Markdown · 中文
80%Fix Rate
84%Confidence
0Evidence
2024-05-12First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
3.x active

Root Cause

The hostname cannot be resolved to an IP address because it does not exist or DNS is misconfigured.

generic

中文

主机名无法解析为IP地址,因为它不存在或DNS配置错误。

Workarounds

  1. 90% success Verify the hostname spelling and domain existence
    Check the URL for typos, e.g., requests.get('https://example.com') instead of 'exampl.com'
  2. 80% success Use a public DNS server like 8.8.8.8
    Configure system DNS to 8.8.8.8 or use socket.setdefaulttimeout(10) with a custom resolver

Dead Ends

Common approaches that don't work:

  1. Increasing the retry count 95% fail

    Retrying does not fix DNS resolution; the hostname remains unresolved.

  2. Using a VPN or proxy without checking DNS 70% fail

    A VPN may change DNS servers, but if the hostname is invalid, it still fails.