페이지의 필요한 콘텐츠를 검색하기 위해 `wget`이 GET 메서드를 사용하도록 하려면 어떻게 해야 합니까?

페이지의 필요한 콘텐츠를 검색하기 위해 `wget`이 GET 메서드를 사용하도록 하려면 어떻게 해야 합니까?

로그인 페이지와 모든 종속성을 가져오는 간단한 명령이 있습니다.

wget --post-data='user=user&password=password' --page-requisites https://…/login

서버 로그에는 다음이 표시됩니다(명백한 이유로 축약됨).

  1. 게시/로그인 302
  2. get/account200
  3. POST /robots.txt 200 (GET이어야 하지만 성공했으므로 문제 없음)
  4. POST /favicon.ico 200 (위와 동일)
  5. POST /[looong PageSpeed ​​​​URL]500(페이지의 모든 CSS, JavaScript 및 이미지 파일에 대해)

이러한 파일을 가져오는 것은 잘 작동하므로 URL은 정확하지만 PageSpeed는 클라이언트 측 POST를 좋아하지 않는 것 같습니다.wget초기 요청을 제외한 모든 항목에 대해 GET을 어떻게 사용할 수 있나요 ?

GNU Wget 1.18을 사용합니다.


고쳐 쓰다:허점제출된.

답변1

"man wget"에서:

           This example shows how to log in to a server using POST and then proceed to download the desired pages, presumably only accessible to authorized
       users:

               # Log in to the server.  This can be done only once.
               wget --save-cookies cookies.txt \
                    --post-data 'user=foo&password=bar' \
                    http://example.com/auth.php

               # Now grab the page or pages we care about.
               wget --load-cookies cookies.txt \
                    -p http://example.com/interesting/article.php

       If the server is using session cookies to track user authentication, the above will not work because --save-cookies will not save them (and neither
       will browsers) and the cookies.txt file will be empty.  In that case use --keep-session-cookies along with --save-cookies to force saving of session
       cookies.

관련 정보