### Summary

In Python 3.12 the deprecated `key_file`, `cert_file` and `check_hostname` parameters have been [removed](https://docs.python.org/3.12/library/http.client.html#http.client.HTTPSConnection).

There is code which still attempts to set these, such as:

https://github.com/ansible/ansible/blob/0371ea08d6de55635ffcbf94da5ddec0cd809495/lib/ansible/module_utils/urls.py#L604-L608

Which results in an error under Python 3.12:

```
>       return httplib.HTTPSConnection(host, **kwargs)
E       TypeError: HTTPSConnection.__init__() got an unexpected keyword argument 'cert_file'
```

### Issue Type

Feature Idea

### Component Name

module_utils/urls.py

except Exception:
    HAS_SSL = False
try:
    
    from ssl import create_default_context, SSLContext  
    HAS_SSLCONTEXT = True
except ImportError:
    HAS_SSLCONTEXT = False
HAS_URLLIB3_PYOPENSSLCONTEXT = False
HAS_URLLIB3_SSL_WRAP_SOCKET = False
if not HAS_SSLCONTEXT:
    try:
        
        try:
            from urllib3.contrib.pyopenssl import PyOpenSSLContext
        except Exception:
            from requests.packages.urllib3.contrib.pyopenssl import PyOpenSSLContext
        HAS_URLLIB3_PYOPENSSLCONTEXT = True
    except Exception:
        
        try:
            try:
                from urllib3.contrib.pyopenssl import ssl_wrap_socket
            except Exception:
                from requests.packages.urllib3.contrib.pyopenssl import ssl_wrap_socket
            HAS_URLLIB3_SSL_WRAP_SOCKET = True
        except Exception:
            pass
if HAS_SSL: