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
JSESSIONID
vá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