requests - request python ejemplos
¿Cómo envío un encabezado personalizado con urllib2 en una solicitud HTTP? (3)
Deseo enviar un encabezado "Aceptar" personalizado en mi solicitud cuando use urllib2.urlopen (..). ¿Cómo puedo hacer eso?
No exactamente. La creación de un objeto Request
realidad no envía la solicitud, y los objetos Request no tienen el método Read()
. (También: read()
es minúscula). Todo lo que necesita hacer es pasar la Request
como primer argumento a urlopen()
y eso le dará su respuesta.
import urllib2
request = urllib2.Request("http://www.google.com", headers={"Accept" : "text/html"})
contents = urllib2.urlopen(request).read()
Yo normalmente uso:
import urllib2
request_headers = {
"Accept-Language": "en-US,en;q=0.5",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Referer": "http://thewebsite.com",
"Connection": "keep-alive"
}
request = urllib2.Request("http://thewebsite.com", headers=request_headers)
contents = urllib2.urlopen(request).read()
print contents
Además de las otras soluciones mencionadas, podrías usar el método add_header
.
Entonces, el ejemplo provisto py @pantsgolem será:
import urllib2
request = urllib2.Request("http://www.google.com")
request.add_header(''Accept'',''text/html'')
##Show the header having the key ''Accept''
request.get_header(''Accept'')
response = urllib2.urlopen(request)
response.read()