Jak mogę akceptować pliki cookie w skrypcie Pythona?Zaakceptuj pliki cookie w języku Python
Odpowiedz
Możesz chcieć spojrzeć na cookielib.
Wierzę, że masz na myśli skrypt Python, który próbuje mówić HTTP. Sugeruję użycie biblioteki wysokiego poziomu, która automatycznie obsługuje pliki cookie. pycurl, mechanize, twill - wybierasz.
Dla Nikhil Chelliah:
nie widzę, co nie jest jasne tutaj.
Przyjmowanie cookie dzieje się po stronie klienta. Serwer może ustawić plik cookie o wartości.
Serwer może również pobrać pliki cookie od klienta. Z drugiej strony, "zaakceptuj" może być tylko ważnym terminem dla klienta. –
+ za wzmiankę o mechanize – Alex
Jest biblioteka cookielib. Możesz także zaimplementować własne przechowywanie plików cookie i zasady, pliki cookie znajdują się w nagłówku set-cookie odpowiedzi (Set-Cookie: name = value), a następnie odsyłasz z powrotem do serwera w jednym lub kilku nagłówkach Cookie w request (Cookie: name = value).
Nie jest jasne, czy potrzebujesz rozwiązania po stronie klienta czy po stronie serwera.
Po stronie klienta zadziała dobrze cookielib. This answer oraz kilka samouczków internetowych oferuje bardziej szczegółowe wyjaśnienia.
Jeśli jest to problem po stronie serwera, powinieneś używać architektury, która zajmuje się wszystkimi standardami. Bardzo podoba mi się to, jak radzą sobie z nimi CherryPy i web.py, ale interfejs API jest całkiem prosty w każdej bibliotece.
Spróbuj tego:
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
Należy wydrukować
Currently have 0 cookies
...
Currently have 2 cookies
(Google zawsze ustawia cookie). Tak naprawdę nie potrzebujesz tak dużo, chyba że chcesz zapisać pliki cookie na dysku i użyć ich później. Powinieneś się przekonać, że większość zadań jest wykonywana.
Więcej informacji tutaj:
Najprostszym sposobem jest użycie requests bibliotekę.
import requests
url = 'http://www.google.com/doodles/'
r = requests.get(url)
print r.cookies
- 1. Korzystanie z zapytań w języku Python: sesje, pliki cookie i POST
- 2. Korzystanie z plików cookie w pytaniach w języku Python
- 3. przechodzić pliki cookie sesji w nagłówku http z python urllib2?
- 4. Pliki cookie w domenie intranetowej
- 5. Pliki cookie w ASP vnext
- 6. Pliki cookie w przeglądarce Firefox
- 7. jquery, usuń pliki cookie
- 8. Jak zapisać pliki cookie żądania (python) do pliku?
- 9. Pasek postępu w języku Python i pliki do pobrania
- 10. Android: jak przechowywać pliki cookie?
- 11. Wygasające pliki cookie z AngularJS?
- 12. Wyczyść pliki cookie symulatora iPhone'a
- 13. Flask: Jak usunąć pliki cookie?
- 14. Czy mod_gzip skompresuje pliki cookie?
- 15. Czy można zabezpieczyć pliki cookie?
- 16. Alamofire wyczyść wszystkie pliki cookie
- 17. Czy jQuery wysyła pliki cookie w poście?
- 18. IE10 domyślnie udostępnia pliki cookie w subdomenach
- 19. Jak usunąć wszystkie pliki cookie w Angularjs?
- 20. Jak przekazywać pliki cookie w przekierowaniu CURL?
- 21. Trwałe pliki cookie w aplikacji na iOS?
- 22. Pliki cookie nie ustawione w Safari 6
- 23. Jak mogę wyświetlić pliki cookie w kodzie?
- 24. Zaakceptuj dotyk bez poruszania myszą?
- 25. Dokumentacja pakowania w języku Python
- 26. Deskryptory w języku Python nie działają w języku Python 2.7
- 27. Pakiety w języku Python?
- 28. Wątki w języku Python
- 29. iteritems w języku Python
- 30. ++ operator w języku Python
Może powinieneś być bardziej konkretny. Co próbujesz osiągnąć? Którą ramę używasz, jeśli w ogóle? –