
wget
의 Netscape 형식은 무엇입니까 cookies.txt
? 로그인이 필요한 웹사이트를 미러링해야 합니다. 해당 형식으로 쿠키를 반환하는 Chrome 확장 프로그램을 사용합니다. 에 저장하고 명령 cookies.txt
으로 가져오지만 wget
사용하지 않으면 전혀 로그인하지 않은 것처럼 콘텐츠만 다운로드합니다.
도움을 주셔서 감사합니다.
답변1
형식은 매뉴얼 페이지에 명시된 대로 Netscape 형식이며 이 형식은 다음과 같습니다.
Netscape의 cookie.txt 파일 레이아웃은 각 줄에 하나의 이름-값 쌍이 포함되어 있습니다. 예제 Cookie.txt 파일에는 다음과 같은 항목이 있을 수 있습니다.
.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103
각 줄은 저장된 정보의 단일 부분을 나타냅니다. ㅏ탭각 필드 사이에 삽입됩니다.
왼쪽에서 오른쪽으로 각 필드가 나타내는 내용은 다음과 같습니다.
도메인- 변수를 생성하고 읽을 수 있는 도메인입니다.
깃발- 주어진 도메인 내의 모든 컴퓨터가 변수에 액세스할 수 있는지 여부를 나타내는 TRUE/FALSE 값입니다. 이 값은 도메인에 설정한 값에 따라 브라우저에서 자동으로 설정됩니다.
길- 변수가 유효한 도메인 내의 경로입니다.
안전한- 변수에 액세스하기 위해 도메인과의 보안 연결이 필요한지 여부를 나타내는 TRUE/FALSE 값입니다.
만료- 변수가 만료되는 UNIX 시간입니다. UNIX 시간은 1970년 1월 1일 00:00:00 GMT 이후의 초 수로 정의됩니다.
이름- 변수의 이름입니다.
값 - 변수의 값.
(에서 "비공식 쿠키 FAQ", 명확성을 위해 편집됨)
답변2
HTTP::Cookies::Netscape
각 데이터 줄의 Netscape 쿠키 파일 형식은 위와 같지만 전체 파일 형식에 필요한 다음과 같은 헤더 줄이 없으면 읽을 수 없습니다 .
# Netscape HTTP Cookie File
아니면 이거:
# HTTP Cookie File
답변3
wget에 대한 쿠키를 얻는 한 가지 방법은 wget의 --keep-session-cookies 옵션을 사용하는 것입니다.
예를 들어 :
wget --keep-session-cookies --save-cookies cookies.txt "http://MYSITE/?__login=USER&__password=PASS"
?__login etc
미러링하려는 웹사이트에 따라 인증 양식이 어떻게 작동하는지 살펴봐야 할 수도 있습니다 .
그런 다음 다음을 사용할 수 있습니다.
wget --mirror --load-cookies cookies.txt http://MYSITE/