_GetCookie

HTTP Requests

_GetCookie

Top  Previous  Next

 

Lấy Cookies (nếu có) từ Response Header

 

_GetCookie([ $sHeader = '', $iTrimCookie = True, $Excluded_Values = '' ])

 

 

 

·Cấu trúc của một Cookie từ Response Header (Xem chi tiết tại đây):

Set-Cookie: <cookie-name>=<cookie-value>; Path=<path-value>; Domain=<domain-value>; Expires=<date>; ...

 

·Ví dụ mẫu về Response Header chứa Cookies (Set-Cookie):

HTTP/1.1 200 OK

Date: Sun, 03 Sep 2017 17:27:14 GMT

Content-Length: 26999

Content-Type: text/html; charset=utf-8

Server: Microsoft-IIS/7.5

Set-Cookie: ASP.NET_SessionId=nleuvhv1vk0gou455w4il455; path=/; HttpOnly

Set-Cookie: webui=0; expires=Sun, 03-Sep-2017 17:47:14 GMT; path=/

Set-Cookie: Banner_Counter_1=1; expires=Sun, 03-Sep-2017 18:27:14 GMT; path=/

Set-Cookie: Banner_Counter_2=0; expires=Sun, 03-Sep-2017 18:27:14 GMT; path=/

Set-Cookie: Banner_Counter_3=1; expires=Sun, 03-Sep-2017 18:27:14 GMT; path=/

 

 

 

* Tham số

$sHeader

Response Header cần trích ra Set-Cookie hoặc để rỗng vẫn được.

$iTrimCookie

Muốn làm gọn Cookies lấy được hay không. Mặc định: Làm gọn

$Excluded_Values

Loại trừ những Cookie có <cookie-name> không muốn lấy

 

 

 

* Giá trị trả về

- Chuỗi các Cookies được nối với nhau bởi dấu ;

- Rỗng và set @error khi Response Header không có Set-Cookie.

 

 

 

* Ghi chú

·_GetCookie không phụ thuộc vào giá trị của $iReturn

 

·$sHeader nếu để rỗng thì hàm _GetCookie sẽ trích Set-Cookie từ Response Header cuối cùng UDF đang lưu.

 

·Cookies lấy được từ Response Header ví dụ có mẫu như sau:

Set-Cookie: id=abcdef; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly

Khi ta cần lưu lại cookie này thì phần Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly là không cần thiết và có thể bỏ đi để lưu cho gọn. $iTrimCookie = True sẽ bật tính năng tự loại bỏ những phần Cookie thừa này.

 

·$Excluded_Values giúp loại bỏ những Cookie với <cookie-name> mà ta không muốn lấy từ Response Header. Ví dụ như ở hình Ví dụ mẫu ở đầu bài, những Cookie có <cookie-name> là: Banner_Counter_1, Banner_Counter_2, Banner_Counter_3 ta không cần lấy chúng thì ta nạp vào:

$Excluded_Values = 'Banner_Counter_1|Banner_Counter_2|Banner_Counter_3'

(Nhiều Cookie không muốn lấy sẽ được cách nhau bởi dấu | )

 

 

 

* Ví dụ

#include <_HttpRequest.au3>

$rq = _HttpRequest(2, 'http://bongdaso.com/news.aspx')

MsgBox(4096, 'Cookie', _GetCookie()) ; _GetCookie không phụ thuộc $iReturn                      

 

#include <_HttpRequest.au3>

$rq = _HttpRequest(1, 'http://bongdaso.com/news.aspx')

MsgBox(4096, 'Cookie', _GetCookie($rq, False)) ; Khi không làm gọn Cookies                      

 

#include <_HttpRequest.au3>

$rq = _HttpRequest(1, 'http://bongdaso.com/news.aspx')

MsgBox(4096, 'Cookie', _GetCookie($rq, True, '_Banner_Counter_*_NewsPage_news_aspx_RM_1|_Banner_Counter_*_NewsPage_news_aspx_RM2_1')) ; Loại bỏ một số Cookie không muốn lấy