¿Cómo se envía una solicitud web de obtención de HTTP en Python? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la forma más rápida de HTTP GET en Python? 11 respuestas

Tengo problemas para enviar datos a un sitio web y obtener una respuesta en Python. He visto preguntas similares, pero ninguna de ellas parece lograr lo que estoy buscando.

Este es mi código C # que estoy tratando de portar a Python:

    static void Request(Uri selectedUri)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(selectedUri);
        request.ServicePoint.BindIPEndPointDelegate = BindIPEndPointCallback;
        request.Method = "GET";
        request.Timeout = (int)Timeout.TotalMilliseconds;
        request.ReadWriteTimeout = (int)Timeout.TotalMilliseconds;
        request.CachePolicy = CachePolicy;
        request.UserAgent = UserAgent;

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (StreamReader responseReader = new StreamReader(response.GetResponseStream()))
            {
                string responseText = responseReader.ReadToEnd();
                File.WriteAllText(UrlFileName, responseText.Trim(), Encoding.ASCII);
            }
        }
     }

Aquí está mi intento en Python:

def request():
web = httplib.HTTPConnection('https://someurl.com');
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
web.request("GET", "/heartbeat.jsp", headers);
response = web.getresponse();
stream = ""; #something is wrong here

¡Cualquier ayuda sería apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta