Yêu cầu cookie Python

HTTP [Hypertext Transfer Protocol] là một giao thức truyền dữ liệu lớp ứng dụng. HTTP được sử dụng để truyền dữ liệu giữa các máy khách HTTP [trình duyệt và ứng dụng dành cho thiết bị di động] và máy chủ. HTTP được xây dựng trên kiến ​​trúc đáp ứng yêu cầu giữa máy khách và máy chủ. Máy khách gửi yêu cầu đến máy chủ, sau đó máy chủ xử lý yêu cầu đó và gửi phản hồi lại cho máy khách

Cookie HTTP

HTTP Сookies là dữ liệu được gửi từ một trang web và được trình duyệt web lưu trữ trên máy tính của người dùng. Cookies được đặt trên thiết bị [máy tính, điện thoại di động] được sử dụng để truy cập trang web. Những cookie này được đánh dấu bằng mã định danh duy nhất cho bạn và máy tính của bạn. Cookie quản lý phiên người dùng, theo dõi người dùng và cá nhân hóa [lưu trữ cài đặt trang web và tùy chọn người dùng]. Các trình duyệt thường gửi cookie trở lại máy chủ với mỗi yêu cầu tiếp theo, điều này cho phép máy chủ xác định xem yêu cầu có đến từ cùng một trình duyệt hay không

Cú pháp HTTP Cookies

Sau đây là cú pháp chung của tiêu đề Cookies

Cú pháp tiêu đề cookie

Cookie: cookie-name=value


Cookies được sử dụng để làm gì?

Trang web sử dụng cookie HTTP để cải thiện trải nghiệm người dùng khi truy cập trang web. Cookie cho phép các trang web ghi nhớ bạn và không yêu cầu bạn phải đăng nhập mỗi khi bạn truy cập trang web. Cookie có thể giữ các mặt hàng trong giỏ hàng của bạn và khôi phục chúng khi bạn truy cập cửa hàng trực tuyến vào ngày hôm sau. Cookie được lưu trữ cục bộ trên thiết bị của bạn. Nếu bạn xóa cookie trong trình duyệt hoặc truy cập trang web ở chế độ ẩn danh, trang web sẽ không nhớ bạn và bạn sẽ trở thành người dùng mới đến trang web như lần đầu tiên.

Cookie được sử dụng để.

  • Quản lý phiên. Trang web sử dụng cookie để nhận dạng người dùng và ghi nhớ thông tin đăng nhập và cài đặt của họ
  • theo dõi. Trong các trang web mua sắm, cookie giúp theo dõi các sản phẩm mà người dùng đã xem trước đó và hiển thị các mặt hàng tương tự
  • Cá nhân hóa. Cách chính mà chúng tôi sử dụng cookie là hiển thị quảng cáo được cá nhân hóa. Quảng cáo có thể theo dõi hoạt động của bạn trên các trang web khác nhau và tạo hồ sơ phù hợp với sở thích của bạn, sau đó được hiển thị trong quảng cáo được nhắm mục tiêu

Làm cách nào để xem các cookie đã lưu trong trình duyệt của tôi?

Để xem cookie được lưu trữ trong trình duyệt của bạn

  1. Nhấn F12 để mở công cụ dành cho nhà phát triển;
  2. Nhấp vào tab Ứng dụng;
  3. Trong phần "Lưu trữ", mở nút Cookies và nhấp vào địa chỉ trang web của bạn;
  4. Tại đây bạn sẽ thấy tất cả các cookie được lưu trữ trong trình duyệt của bạn cho trang web này

Làm cách nào để gửi yêu cầu Cookie?

Sau đây là một ví dụ gửi cookie đến máy chủ

Gửi ví dụ về cookie

GET /echo/get/json HTTP/1.1
Host: reqbin.com
Cookie: name=value; name2=value2


Xem thêm

  • Làm cách nào để đăng JSON lên máy chủ?
  • Làm cách nào để lấy XML từ máy chủ?
  • Làm cách nào để kiểm tra API REST trực tuyến?

Tạo đoạn mã cho Python và các ngôn ngữ lập trình khác

Chuyển đổi yêu cầu Request Cookies của bạn sang PHP, JavaScript/AJAX, Curl/Bash, Python, Java, C#/. NET bằng cách sử dụng trình tạo mã Python

Các ví dụ và bài viết về API yêu cầu Python có liên quan

Làm cách nào để gửi tiêu đề HTTP với yêu cầu Curl?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu Cookies và Session là gì, tầm quan trọng của nó trong việc cạo và cách sử dụng chúng với thư viện yêu cầu python

Bánh quy

Cookie HTTP là một loại tiêu đề yêu cầu đặc biệt đại diện cho một mẩu dữ liệu nhỏ được gửi từ một trang web và được lưu trữ trên máy tính của người dùng. Nó khác với các tiêu đề khác, vì chúng tôi không phải là người chọn nó – đó là trang web cho chúng tôi biết cách đặt trường này. Sau đó, cookie có thể được gửi cùng với các yêu cầu tiếp theo của khách hàng

Cookie được thiết kế để trở thành một cơ chế đáng tin cậy giúp các trang web ghi nhớ thông tin trạng thái, chẳng hạn như các mặt hàng được thêm vào giỏ hàng trong cửa hàng trực tuyến hoặc để ghi lại hoạt động duyệt web của người dùng

Chúng cũng có thể được sử dụng để ghi nhớ các mẩu thông tin tùy ý mà người dùng đã nhập trước đó vào các trường biểu mẫu, chẳng hạn như tên, địa chỉ, mật khẩu và số thẻ tín dụng

Mỗi khi trình duyệt web của người dùng tương tác với máy chủ web, nó sẽ chuyển thông tin cookie đến máy chủ web. Chỉ những cookie được trình duyệt lưu trữ liên quan đến tên miền trong URL được yêu cầu mới được gửi đến máy chủ. Điều này có nghĩa là các cookie liên quan đến www. thí dụ. com sẽ không được gửi đến www. tên miền ví dụ. com

Về bản chất, cookie là một cách tuyệt vời để liên kết trang này với trang tiếp theo để người dùng tương tác với một trang web hoặc ứng dụng web

Mặc dù cần phải cạo cookie để tránh bị chặn. Chúng được sử dụng để bắt chước trình duyệt web để trang web không coi trình quét của chúng tôi là bot và chặn chúng tôi

phiên

Phiên có thể được định nghĩa là kho lưu trữ thông tin phía máy chủ được mong muốn tồn tại trong suốt quá trình tương tác của người dùng với trang web hoặc ứng dụng web.  

Thay vì lưu trữ thông tin lớn và thay đổi liên tục qua cookie trong trình duyệt của người dùng, chỉ một mã định danh duy nhất được lưu trữ ở phía máy khách [được gọi là “id phiên”]. Id phiên này được chuyển đến máy chủ web mỗi khi trình duyệt thực hiện yêu cầu HTTP [nghĩa là liên kết trang hoặc yêu cầu AJAX]. Ứng dụng web ghép id phiên này với cơ sở dữ liệu nội bộ của nó và truy xuất các biến được lưu trữ để trang được yêu cầu sử dụng

Một phiên tạo một tệp trong một thư mục tạm thời trên máy chủ nơi các biến phiên đã đăng ký và giá trị của chúng được lưu trữ. Dữ liệu này sẽ có sẵn cho tất cả các trang trên trang web trong lần truy cập đó

Một phiên kết thúc khi người dùng đóng trình duyệt hoặc sau khi rời khỏi trang web, máy chủ sẽ kết thúc phiên sau một khoảng thời gian định trước, thường là 30 phút

Các phiên trong dịch vụ cạo được sử dụng chủ yếu để gửi yêu cầu đặt nhằm điền vào một biểu mẫu như biểu mẫu Đăng nhập, v.v. Chúng cũng được sử dụng để gửi nhiều yêu cầu và thu thập dữ liệu song song

Bây giờ hãy xem cách sử dụng cookie và phiên với thư viện yêu cầu python

Chúng tôi có thể nhận cookie phản hồi sau yêu cầu đầu tiên của mình bằng cách sử dụng phương thức cookie như bên dưới và sau đó có thể gửi các cookie này với các yêu cầu tiếp theo

import requests
response = requests.get['//www.dev2qa.com']
response.cookies

đầu ra

Chúng tôi cũng có thể nhận từng cookie bằng cách sử dụng vòng lặp for như bên dưới

cho cookie để đáp lại. bánh quy

print['tên miền cookie = ' + cookie. miền]

in ['tên cookie = ' + cookie. Tên]

in ['giá trị cookie = ' + cookie. giá trị]

in['*************************************']

đầu ra

Chúng tôi có thể xác định cookie tùy chỉnh của mình bằng đối tượng jar từ điển hoặc cookie như bên dưới

# Set url value.
url = '//www.dev2qa.com'
# Create a dictionary object.
cookies = dict[name='jerry', password='888']
# Use python requests module to get related url and send cookies to it with cookies parameter. 
response = requests.get[url, cookies=cookies]
url = '//www.dev2qa.com'
# Create a RequestsCookieJar object.
cookies_jar = requests.cookies.RequestsCookieJar[]
# Add first cookie, the parameters are cookie_key, cookie_value, cookie_domain, cookie_path.
cookies_jar.set['name', 'jerry', domain='dev2qa.com', path='/cookies']

đầu ra

Cookie[version=0, name=’name’, value=’jerry’, port=None, port_specified=False, domain=’dev2qa. com', domain_specified=True, domain_initial_dot=False, path='/cookies', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly'. Không}, rfc2109=Sai]

# Add second cookie.
cookies_jar.set['password', 'jerry888', domain='dev2qa.com', path='/cookies']

đầu ra

Cookie[version=0, name=’password’, value=’jerry888′, port=None, port_specified=False, domain=’dev2qa. com', domain_specified=True, domain_initial_dot=False, path='/cookies', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly'. Không}, rfc2109=Sai]

# Get url with cookie parameter.
response = requests.get[url, cookies=cookies_jar]

Phương thức Session[] của mô-đun yêu cầu Python sẽ trả về một yêu cầu. phiên. Đối tượng phiên, sau đó hoạt động [chẳng hạn như lấy trang url có liên quan] trên đối tượng phiên này sẽ sử dụng cùng một phiên

import requests
# Call requests module's session[] method to return a requests.sessions.Session object.
session = requests.Session[]

Yêu cầu trả về. phiên. Đối tượng phiên cung cấp các thuộc tính và phương thức khác nhau để bạn truy cập, chẳng hạn như trang web theo url, tiêu đề, giá trị cookie trong cùng một phiên. Bạn có thể sử dụng đối tượng phiên như bên dưới

# Show all headers and cookies in this session.
session.headers

đầu ra

________số 8

đầu ra

Đây là cách chúng tôi có thể sử dụng cookie và phiên với thư viện yêu cầu. Trong tương lai, chúng tôi sẽ sử dụng rộng rãi tất cả các chức năng này. Biết thêm về Làm cách nào để lưu phiên yêu cầu Python?

Cookie yêu cầu là gì?

Cookie yêu cầu là những gì được gửi từ máy khách đến máy chủ [do đó, trình duyệt cung cấp]. Cookie phản hồi là những cookie mà bạn muốn đặt trong trình duyệt. Kết nối tiếp theo từ trình duyệt đã chấp nhận cookie từ đối tượng phản hồi sẽ cung cấp cookie trong đối tượng yêu cầu.

Cookie trong Python là gì?

mô-đun cookie định nghĩa các lớp để trừu tượng hóa khái niệm cookie, cơ chế quản lý trạng thái HTTP . Nó hỗ trợ cả cookie chỉ chuỗi đơn giản và cung cấp sự trừu tượng hóa để có bất kỳ loại dữ liệu có thể tuần tự hóa nào làm giá trị cookie.

Chủ Đề