type requests peticiones example enviar ejemplos content biblioteca python header urllib2

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()