CURL 명령을 사용하여 다음 위치(현재 FuelWatchRetail-03-2020.csv.zip)에서 최신 zip 파일을 다운로드하려고 합니다.이 웹사이트.
내 현재 명령은 다음과 같습니다.
curl https://www.fuelwatch.wa.gov.au/fuelwatch/pages/public/historicalFileDownloadRetail.jspx#/FuelWatchRetail-03-2020.csv.zip -o new.zip
출력 파일은 초기 웹 페이지의 html로 나타납니다. 다운로드하려는 파일의 위치에 대한 링크를 찾을 수 없는 것 같습니다. 해결책을 찾기 위해 Google에서 광범위하게 검색했지만 올바른 것을 찾고 있지 않은 것 같습니다.
답변1
개발자 콘솔이 시작된 상태에서 일반 브라우저를 사용하여 이 파일을 검색하려고 하면 링크를 클릭하면 HTTP POST 요청이 트리거된다는 것을 알 수 있습니다.https://www.fuelwatch.wa.gov.au/fuelwatch/pages/public/historicalFileDownloadRetail.jspx다음 매개변수를 사용합니다.
{
"j_idt72":"j_idt72",
"j_idt72:resultsTbl_rppDD":"20",
"javax.faces.ViewState":"-4860850130551349268:6438609436745021067",
"j_idt72:resultsTbl:0:j_idt75":"j_idt72:resultsTbl:0:j_idt75"
}
그 대가로 요청한 파일이 첨부 파일로 제공됩니다.
{"headers":
[
{
"name":"Content-Disposition",
"value":"attachment;filename=\"FuelWatchRetail-03-2020.csv.zip\"; filename*=UTF-8''FuelWatchRetail-03-2020.csv.zip"
},
{
"name":"Content-Type","value":"application/pdf"},
[remaining data are useless for this explanation]
}
따라서 컬에 대한 일부 "로직"을 구현하지 않으면 필요한 파일을 검색하는 것이 불가능합니다. HTTP/HTML 기능이 있는 스크립트 언어(예: Perl, Python 등)를 사용하여 이 작업을 수행하는 것이 덜 고통스러울 수 있습니다.