Curl 명령(초보자 Linux)

Curl 명령(초보자 Linux)

CURL 명령을 사용하여 최신 zip 파일(현재는 FuelWatchRetail-03-2020.csv.zip)을 다운로드하려고 합니다.이 장소.

현재 가지고 있는 명령은 다음과 같습니다.

curl https://www.fuelwatch.wa.gov.au/fuelwatch/pages/public/historicalFileDownloadRetail.jspx#/FuelWatchRetail-03-2020.csv.zip -o new.zip

출력되는 파일은 초기 웹페이지의 html로 나타납니다. 다운로드하려는 파일 위치에 대한 링크를 찾을 수 없는 것 같습니다. 해결책을 찾기 위해 광범위하게 검색했지만 분명히 올바른 것을 찾고 있지 않습니다.

답변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]
}

따라서 컬에 대한 약간의 "로직"을 구현하지 않고는 원하는 파일을 검색하는 것이 거의 불가능합니다. Perl, Python 등과 같은 HTTP/HTML 기능을 갖춘 스크립팅 언어를 사용하여 이를 구현하는 것이 아마도 덜 고통스러울 것입니다.

관련 정보