tutorial requests libreria headers example biblioteca python http streamreader webrequest

requests - ¿Cómo se envía una solicitud web HTTP Get en Python?



request python tutorial (2)

Esta pregunta ya tiene una respuesta aquí:

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 de C # que intento 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!


En Python, puede usar urllib2 ( urllib2 ) para hacer todo el trabajo por usted.

Simplemente suficiente

import urllib2 f = urllib2.urlopen(url) print f.read()

Imprimirá la respuesta HTTP recibida.

Para pasar los parámetros GET / POST, se puede usar la función urllib.urlencode() . Para más información, puede consultar el Tutorial oficial de Urllib2


Puedes usar urllib2

import urllib2 content = urllib2.urlopen(some_url).read() print content

También puedes usar httplib

import httplib conn = httplib.HTTPConnection("www.python.org") conn.request("HEAD","/index.html") res = conn.getresponse() print res.status, res.reason # Result: 200 OK

o la biblioteca de solicitudes

import requests r = requests.get(''https://api.github.com/user'', auth=(''user'', ''pass'')) r.status_code # Result: 200