### 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

else:
            tmp_ca_path, cadata, paths_checked = get_ca_certs(ca_path)
            context = make_context(
                cafile=tmp_ca_path,
                cadata=cadata,
                ciphers=ciphers,
                validate_certs=validate_certs,
            )
            handlers.append(HTTPSClientAuthHandler(client_cert=client_cert,
                                                   client_key=client_key,
                                                   unix_socket=unix_socket,
                                                   context=context))
        handlers.append(RedirectHandlerFactory(follow_redirects, validate_certs, ca_path=ca_path, ciphers=ciphers))
        
        if cookies is not None:
            handlers.append(urllib_request.HTTPCookieProcessor(cookies))
        opener = urllib_request.build_opener(*handlers)
        urllib_request.install_opener(opener)
        data = to_bytes(data, nonstring='passthru')
        request = RequestWithMethod(url, method, data)
        
        
        if http_agent:
            request.add_header('User-agent', http_agent)
        
        
        if force:
            request.add_header('cache-control', 'no-cache')
        
        elif last_mod_time: