Định dạng cookie khi sử dụng wget?


31

Định dạng Netscape của wget's là cookies.txtgì? Tôi cần phải phản chiếu một trang web yêu cầu đăng nhập. Tôi sử dụng tiện ích mở rộng Chrome trả lại cookie theo định dạng đó, tôi lưu chúng vào cookies.txt, nhập bằng wgetlệnh nhưng không sử dụng, nó chỉ tải xuống nội dung như tôi hoàn toàn không đăng nhập.

Tôi đánh giá cao bất kỳ sự giúp đỡ.

Câu trả lời:


46

Định dạng là định dạng Netscape như được nêu trong trang man và định dạng này là:

Bố cục của tệp cookies.txt của Netscape sao cho mỗi dòng chứa một cặp giá trị tên. Một tệp cookies.txt ví dụ có thể có một mục giống như thế này:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Mỗi dòng đại diện cho một phần thông tin được lưu trữ. Một tab được chèn giữa mỗi trường.

Từ trái sang phải, đây là những gì mỗi lĩnh vực đại diện:

tên miền - Tên miền đã tạo AND có thể đọc biến.

cờ - Giá trị TRUE / FALSE cho biết liệu tất cả các máy trong một miền nhất định có thể truy cập vào biến không. Giá trị này được trình duyệt tự động đặt, tùy thuộc vào giá trị bạn đặt cho tên miền.

đường dẫn - Đường dẫn trong miền mà biến đó hợp lệ.

bảo mật - Giá trị TRUE / FALSE cho biết nếu cần kết nối an toàn với tên miền để truy cập vào biến.

hết hạn - Thời gian UNIX mà biến sẽ hết hạn vào. Thời gian UNIX được định nghĩa là số giây kể từ ngày 1 tháng 1 năm 1970 00:00:00 GMT.

tên - Tên của biến.

value - Giá trị của biến.

(Từ " Câu hỏi thường gặp về Cookie không chính thức ", được chỉnh sửa cho rõ ràng)


3
Là tập tin Tab hoặc không gian tách biệt?
Ferrybig

3
@ferrybig Tab được sử dụng.
tắc kè

có gì đặc biệt là cookie đến từ ví dụ 127.0.0.1 thay vì một cái gì đó có tên miền?
PypeBros

4

Một cách để nhận cookie cho wget là sử dụng các tùy chọn --keep-session-cookies của wget.

Ví dụ :

wget --keep-session-cookies --save-cookies cookies.txt "http://MYSITE/?__login=USER&__password=PASS"

Tùy ?__login etcthuộc vào trang web bạn đang cố gắng phản chiếu, bạn có thể phải xem cách thức biểu mẫu xác thực hoạt động.

Sau đó, bạn có thể sử dụng:

wget --mirror --load-cookies cookies.txt http://MYSITE/

3
điều này không trả lời câu hỏi định dạng tệp là gì
Michael

2

Định dạng tệp cookie Netscape cho mỗi dòng dữ liệu như trên, nhưng bạn sẽ không thể đọc nó với HTTP::Cookies::Netscapetrừ khi nó có một dòng tiêu đề như thế này, định dạng tệp hoàn chỉnh yêu cầu:

# Netscape HTTP Cookie File

hoặc này:

# HTTP Cookie File
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.