¿Cómo puedo aceptar cookies en una secuencia de comandos python?Aceptar cookies en Python
Respuesta
Es posible que desee mirar cookielib.
Creo que quiere decir tener un script de Python que intente hablar HTTP. Le sugiero que use una biblioteca de alto nivel que maneja las cookies automáticamente. pycurl, mechanize, twill - usted elige.
Por Nikhil Chelliah:
no veo lo que no está claro aquí.
Al aceptar se produce una cookie en el lado del cliente. El servidor puede establecer una cookie.
Un servidor también puede obtener cookies del cliente. Por otra parte, "aceptar" podría ser solo un término válido para el cliente. –
+ por mencionar mecanizar – Alex
Existe la biblioteca cookielib. También puede implementar sus propias políticas y almacenamiento de cookies, las cookies se encuentran en el encabezado set-cookie de la respuesta (Set-Cookie: name = value), luego envía el reverso a un servidor en uno o más encabezados de Cookie en el solicitud (Cookie: nombre = valor).
No está claro si desea una solución del lado del cliente o del lado del servidor.
Por el lado del cliente, cookielib funcionará bien. This answer y algunos tutoriales web ofrecen explicaciones más detalladas.
Si se trata de un problema del lado del servidor, debe utilizar un marco que se ocupe de todo el texto estándar. Realmente me gusta cómo lo manejan CherryPy y web.py, pero la API es bastante simple en cualquier biblioteca.
Prueba esto:
import urllib2
import cookielib
jar = cookielib.FileCookieJar("cookies")
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
print "Currently have %d cookies" % len(jar)
print "Getting page"
response = opener.open("http://google.com")
print response.headers
print "Got page"
print "Currently have %d cookies" % len(jar)
print jar
Debe imprimir
Currently have 0 cookies
...
Currently have 2 cookies
(Google siempre establece una cookie). Realmente no necesitas tanto a menos que quieras guardar tus cookies en el disco y usarlas más tarde. Debería encontrar que
urllib2.build_opener(HTTPCookieProcessor).open(url)
Cuida la mayor parte de lo que desea.
Más información aquí:
La forma más sencilla es utilizar requests biblioteca.
import requests
url = 'http://www.google.com/doodles/'
r = requests.get(url)
print r.cookies
- 1. Ambos usando cookies y un proxy en Python con urllib2
- 2. Recuperando todas las cookies en Python
- 3. Aceptar certificados en Java
- 4. Seguimiento de redireccionamientos y cookies con Python
- 5. ¿Cookies de sesión = cookies?
- 6. HTTP POST y GET con cookies para autenticación en python
- 7. HttpResponseException no aceptar HttpStatusCode
- 8. Aceptar entrada de usuario
- 9. Parse Aceptar encabezado
- 10. cookies en UIWebView
- 11. Cookies en Firefox
- 12. Eliminar cookies en Webdriver
- 13. Administración de cookies HTTP en el iPhone
- 14. Pyramid.security questions: Double cookies? ¿Cookies inseguras? ¿Vencimiento?
- 15. ¿Cómo configurar cookies con GAE/Python durante 1 mes?
- 16. Python urllib3 y cómo manejar el soporte de cookies?
- 17. urllib2 con cookies
- 18. Cookies de Javascript vs cookies de php
- 19. python: urllib2 cómo enviar cookies con la solicitud de urlopen
- 20. Python: cómo descargar las cookies de una instancia mecanizada.Browser?
- 21. Orden de botones Aceptar/Cancelar en ICS
- 22. ERROR en aceptar: Recurso no disponible temporalmente
- 23. aceptar eventos de clic en RelativeLayout
- 24. ¿Cómo aceptar cargas de archivos en noir
- 25. Aceptar caracteres de nombre internacional en RegEx
- 26. ¿Cómo agrego manualmente más cookies a una sesión que ya tiene cookies establecidas en mechanize?
- 27. ¿Qué podría causar problemas en las cookies de FormsAuthentication de ASP.NET aparte de las cookies desactivadas?
- 28. ¿Cómo obtener un programa de socket UDP en Python para aceptar mensajes de un cliente Syslog?
- 29. Cookies getMaxAge
- 30. ¿Cómo puede System.out.printIn() aceptar enteros?
Quizás debería ser más específico. ¿Qué está tratando de lograr? ¿Qué marco estás usando, si hay alguno? –