O Python3 no Ubuntu tem suporte a SSL. Você pode simplesmente testar executando python3
e depois disparando alguns comandos:
import urllib.request
urllib.request.urlopen('https://askubuntu.com').read()
Uma tonelada de HTML cairá do outro lado. O SSL está funcionando.
Como uma resposta mais geral à sua pergunta sobre SO, considero a possibilidade de consultar a biblioteca de solicitações . Ele pode ser instalado com o pacote python3-requests
e torna tudo o que você está fazendo muito mais fácil e mais lógico. Resume tudo para:
import requests
requests.post(
url,
auth=requests.auth.HTTPBasicAuth('user', 'pass'),
data={"Hello": "There"},
headers={'content-type': 'application/x-www-form-urlencoded'}
)
Concordo que é basicamente a preferência (você pode fazer tudo o que quiser sem isso), mas facilita o entendimento do código.