O site exige que você tenha dois cookies definidos: um cookie% de contrato JSESSIONID e o abaDataCaptureCookie válidos. O primeiro pode ser obtido com o primeiro comando wget , o segundo precisa ser adicionado manualmente.
-
Obtenha um
JSESSIONIDválido e salve-o emcookies.txt:wget --post-data="agreementValue=Agree" frbservices.org/EPaymentsDirectory/submitAgreement --save-cookies cookies.txt --keep-session-cookies --delete-after -
Adicione a linha
abaDataCaptureCookie:echo -e "frbservices.org\tFALSE\t/EPaymentsDirectory/\tFALSE\t0\tabaDataCaptureCookie\tabaDataCaptureCookie" >>cookies.txt -
Faça o download do arquivo:
wget --load-cookies cookies.txt frbservices.org/EPaymentsDirectory/FedACHdir.txt
Não tenho certeza de quanto tempo o primeiro cookie permanece válido, mas presumo que você não baixará a lista várias vezes por hora, portanto, obter um novo em cada execução parece OK para mim - essa é a abordagem de segurança após tudo.
Versão de script das etapas acima, usando um arquivo temporário como o arquivo de cookie:
#!/bin/bash
cookiefile=$(mktemp)
wget --post-data="agreementValue=Agree" frbservices.org/EPaymentsDirectory/submitAgreement --save-cookies $cookiefile --keep-session-cookies --delete-after
echo -e "frbservices.org\tFALSE\t/EPaymentsDirectory/\tFALSE\t0\tabaDataCaptureCookie\tabaDataCaptureCookie" >>$cookiefile
wget --load-cookies $cookiefile frbservices.org/EPaymentsDirectory/FedACHdir.txt
A execução desse script salvará o FedACHdir.txt atual no diretório atual sem deixar um cookies.txt por aí, se já houver um arquivo com este nome wget adiciona um número e o salva como, por exemplo, FedACHdir.txt.1 .
Ao resolver este problema, encontrei grande ajuda aqui: Formato dos cookies ao usar wget · U & L