Come posso accettare i cookie in uno script Python?Accetta i cookie in Python
risposta
Si potrebbe voler guardare cookielib.
Credo che tu intenda avere uno script Python che tenta di parlare HTTP. Ti suggerisco di utilizzare una libreria di alto livello che gestisce automaticamente i cookie. pycurl, meccanizza, twill - scegli tu.
Per Nikhil Chelliah:
non vedo ciò che non è chiaro qui.
Accettando un cookie si verifica sul lato client. Il server può impostare un cookie.
Un server può anche ricevere cookie dal client. Inoltre, "accettare" potrebbe essere solo un termine valido per il cliente. –
+ per menzionare meccanize – Alex
C'è la libreria cookielib. È inoltre possibile implementare la propria politica di memorizzazione e policy dei cookie, i cookie si trovano nell'intestazione del set-cookie della risposta (Set-Cookie: nome = valore), quindi si invia il retro a un server in una o più intestazioni Cookie nel richiesta (Cookie: nome = valore).
Non è chiaro se si desidera una soluzione lato client o lato server.
Per il lato client, cookielib funzionerà correttamente. This answer e alcuni tutorial Web offrono spiegazioni più approfondite.
Se si tratta di un problema lato server, è necessario utilizzare un framework che si occupa di tutto lo standard. Mi piace molto il modo in cui sono gestiti da e web.py, ma l'API è piuttosto semplice in qualsiasi libreria.
Prova questo:
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
Dovrebbe stampare
Currently have 0 cookies
...
Currently have 2 cookies
(Google imposta sempre un biscotto). Non ne hai davvero bisogno a meno che tu non voglia salvare i tuoi cookies su disco e usarli in seguito. Si dovrebbe trovare che
urllib2.build_opener(HTTPCookieProcessor).open(url)
Si prende cura della maggior parte di ciò che si desidera.
Maggiori informazioni qui:
Il modo più semplice è quello di utilizzare requests biblioteca.
import requests
url = 'http://www.google.com/doodles/'
r = requests.get(url)
print r.cookies
- 1. Verifica se il client accetta i cookie in javascript?
- 2. Recupero di tutti i cookie in Python
- 3. oggetto socket python accetta timeout
- 4. Come salvare i cookie delle richieste (python) in un file?
- 5. Errore di Python Mechanize in Facebook cookie
- 6. Come impostare dei cookie in python meccanizzare
- 7. python 3.3: struct.pack non accetta le stringhe
- 8. Come posso testare automaticamente i cookie?
- 9. Perché python super non accetta solo l'istanza?
- 10. Come salvare e caricare i cookie usando Python + Selenium WebDriver
- 11. Backslash aggiunto al mio cookie in Python
- 12. Come ottenere i cookie dal browser Web con Python?
- 13. Python: come scaricare i cookie di un'istanza mechanize.Browser?
- 14. passa i cookie di sessione nell'header http con python urllib2?
- 15. Come impostare i cookie con GAE/Python per 1 mese?
- 16. python - aggiungi cookie a cookiejar
- 17. file_get_contents riceve i cookie
- 18. Scrittura di una classe che accetta una richiamata in Python?
- 19. Come aggiungo manualmente più cookie ad una sessione che ha già i cookie impostati in mechanize?
- 20. Come disabilitare i cookie in Laravel 5?
- 21. Abilitare i cookie in UIWebView (iPhone)
- 22. Impossibile aggiornare i cookie in ASP.NET
- 23. come annullare i cookie in PHP?
- 24. Come conservare i cookie in node-webkit
- 25. Impossibile impostare i cookie in laravel 4
- 26. Come controllare i cookie in umbraco?
- 27. Come attivare i cookie sicuri in Wildfly?
- 28. Acquisizione o manipolazione di tutti i cookie in Selenium Webdriver
- 29. Cancella cookie da richieste di Python
- 30. django-rest-framework accetta i dati JSON?
Forse dovresti essere più specifico. Cosa stai cercando di realizzare? Quale struttura stai usando, se esiste? –