Como obter 'wget' para usar o método GET para recuperar requisições de página?

0

Eu tenho um comando simples para obter uma página conectada com todas as suas dependências:

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

O log do servidor mostra o seguinte (abreviado por razões óbvias):

  1. POST / login 302
  2. GET / conta 200
  3. POST /robots.txt 200 (deve ser um GET, mas é bem-sucedido, então não há problema)
  4. POST /favicon.ico 200 (idem)
  5. POST / [URL do PageSpeed de Looong] 500 (para cada CSS, JavaScript e arquivo de imagem na página)

OBTER estes arquivos funciona bem, então as URLs estão corretas, mas parece que o PageSpeed não gosta de POSTing de clientes. Como posso fazer wget usar GET para tudo, exceto a solicitação inicial?

Usando o GNU Wget 1.18.

Atualização: Bug enviado.

    
por l0b0 01.06.2017 / 12:08

1 resposta

2

De "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.
    
por 01.06.2017 / 12:23

Tags