Enviar encabezados a lo largo de python

Tengo la siguiente secuencia de comandos de python y me gustaría enviar información de encabezado “falsa” para que mi aplicación actúe como si fuera Firefox. ¿Cómo podría hacer eso?

import urllib, urllib2, cookielib username = '****' password = '****' login_user = urllib.urlencode({'password' : password, 'username' : username}) jar = cookielib.FileCookieJar("cookies") opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar)) response = opener.open("http://www.***.com") response = opener.open("http://www.***.com/login.php") response = opener.open("http://www.***.com/welcome.php", login_user) 

Use la función addheaders() en su objeto opener .
Simplemente agregue esta línea después de crear su abridor, antes de comenzar a abrir páginas:

 opener.addheaders = [('User-agent', 'Mozilla/5.0')] 

http://docs.python.org/library/urllib2.html (se encuentra al final de este documento)

Tienes que conseguir un poco más de bajo nivel para poder hacer eso.

 request = urllib2.Request('http://stackoverflow.com') request.add_header('User-Agent', 'FIREFOX LOL') opener = urllib2.build_opener() data = opener.open(request).read() print data 

No probado.

FWIW, dependiendo de la precisión con la que desea imitar a Firefox, la configuración del User-Agent puede no ser suficiente (aunque probablemente sea suficiente para la mayoría de los casos). Para hacer que su secuencia de comandos se vea como la navegación web “normal”, es posible que desee establecer un Referer apropiado y realizar solicitudes adicionales para el rest del contenido de la página (Javascript / CSS / Images / Flash / etc). Algo de qué pensar, aunque tal vez no sea apropiado para su situación particular.