Làm cách nào để chấp nhận cookie trong tập lệnh python?Chấp nhận cookie bằng Python
Trả lời
Bạn có thể muốn xem cookielib.
Tôi tin rằng bạn có nghĩa là có tập lệnh Python cố gắng nói HTTP. Tôi khuyên bạn nên sử dụng thư viện cấp cao xử lý cookie tự động. pycurl, cơ giới hóa, twill - bạn chọn.
Đối với Nikhil Chelliah:
Tôi không thấy điều gì không rõ ràng ở đây.
Chấp nhận cookie xảy ra ở phía máy khách. Máy chủ có thể đặt cookie.
Máy chủ cũng có thể nhận cookie từ ứng dụng khách. Sau đó, một lần nữa, "chấp nhận" có thể chỉ là một thuật ngữ hợp lệ cho khách hàng. –
+ để đề cập đến cơ giới hóa – Alex
Có thư viện cookielib. Bạn cũng có thể triển khai chính sách lưu trữ và chính sách cookie của riêng mình, cookie được tìm thấy trong tiêu đề cookie đặt của phản hồi (Set-Cookie: name = value), sau đó bạn gửi lại cho máy chủ trong một hoặc nhiều tiêu đề Cookie trong request (Cookie: name = value).
Không rõ liệu bạn có muốn giải pháp phía máy khách hoặc giải pháp phía máy chủ hay không.
Đối với phía máy khách, cookielib sẽ hoạt động tốt. This answer và một vài hướng dẫn web cung cấp giải thích chi tiết hơn.
Nếu đây là vấn đề phía máy chủ, bạn nên sử dụng khung làm việc chăm sóc tất cả các bản mẫu. Tôi thực sự thích cách CherryPy và web.py xử lý chúng, nhưng API khá đơn giản trong bất kỳ thư viện nào.
Hãy thử điều này:
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
Nó nên in
Currently have 0 cookies
...
Currently have 2 cookies
(Google luôn đặt một cookie). Bạn không thực sự cần điều này nhiều trừ khi bạn muốn lưu cookie của bạn vào đĩa và sử dụng chúng sau này. Bạn sẽ thấy rằng
urllib2.build_opener(HTTPCookieProcessor).open(url)
Tận dụng tối đa những gì bạn muốn.
Thông tin thêm ở đây:
Cách đơn giản nhất là sử dụng requests thư viện.
import requests
url = 'http://www.google.com/doodles/'
r = requests.get(url)
print r.cookies
- 1. Viết một lớp chấp nhận gọi lại bằng Python?
- 2. Kiểm tra cookie bằng Python Flask
- 3. Làm cách nào để xác nhận cuộc gọi chấp nhận đối số chuỗi bằng Python Mock?
- 4. python 3.3: struct.pack sẽ không chấp nhận các chuỗi
- 5. Chặn khối chấp nhận Python - ngăn ứng dụng thoát khỏi
- 6. Chấp nhận cookie Xác thực Biểu mẫu ASP.NET trong triển khai SignalR do OWIN lưu trữ?
- 7. đối tượng socket python chấp nhận thời gian ra
- 8. Tại sao python super không chỉ chấp nhận cá thể?
- 9. Trình duyệt hiện tại có chấp nhận cookie từ phản hồi ajax không?
- 10. Phiên PHP có thể chấp nhận được với luật cookie mới của Vương quốc Anh không?
- 11. C2DM với PHP bằng OAuth2.0 (ClientLogin không được chấp nhận!)
- 12. Selenium C# chấp nhận hộp xác nhận
- 13. GAE không nhận ra cookie?
- 14. Đồ đạc Django không chấp nhận YAML?
- 15. ssh-keygen chấp nhận stdin
- 16. Cách nhận thư bằng python
- 17. Rspec & FactoryGirl xác nhận chấp nhận
- 18. ServerSocket không chấp nhận giả lập droid
- 19. HttpResponseException không chấp nhận HttpStatusCode
- 20. setFont Không được chấp nhận?
- 21. Livequery không được chấp nhận
- 22. initWithContentsOfFile Không được chấp nhận
- 23. getch không được chấp nhận
- 24. dismissModalViewControllerAnimated không được chấp nhận
- 25. File.toURL() không được chấp nhận?
- 26. glEnableClientState không được chấp nhận
- 27. Enum.ToString() không được chấp nhận?
- 28. Chấp nhận Bitcoin trên Heroku
- 29. stringWithContentsOfFile Không được chấp nhận
- 30. python - thêm cookie vào cookiejar
Có thể bạn nên cụ thể hơn. Bạn đang cố gắng để thực hiện? Bạn đang sử dụng khung làm việc nào, nếu có? –