wget
일반적으로 나는 다운로드를 실행한 파일을 가져오는 데 이것을 사용합니다 .
그런데 현재 제가 사용하고 있는웹사이트다운로드를 생성하는 데 몇 초가 걸리기 때문에 wget
원하는 zip 파일 대신 html이 다운로드됩니다.
트리거된 다운로드를 받으려면 어떤 도구를 사용할 수 있나요?
답변1
전망은 밝아보이지 않습니다. 귀하가 찾고 있는 것과 가장 가까운 옵션은 다음과 같습니다. curl
더 나은 것은 제공되지 않습니다.
나는 시간 초과(카운트다운)가 방지하는 것이라고 확신합니다.정확히이런 종류의 활동.
-T seconds
,--timeout=seconds
네트워크 시간 초과를 초로 설정합니다. 이는 지정하는 것과 동일합니다.--dns-timeout
,--connect-timeout
, 그리고--read-timeout
, 동시에.
네트워크와 상호작용할 때 Wget은 시간 초과를 확인하고 시간이 너무 오래 걸리면 작업을 중단할 수 있습니다. 이렇게 하면 읽기 중단 및 무한 연결과 같은 이상 현상이 방지됩니다. 기본적으로 활성화된 유일한 시간 제한은 900초 읽기 시간 제한입니다. 시간 초과를 0으로 설정하면 완전히 비활성화됩니다. 수행 중인 작업을 알지 못하는 경우 기본 시간 초과 설정을 변경하지 않는 것이 가장 좋습니다.
모든 시간 초과 관련 옵션은 10진수 값은 물론 1초 미만 값도 허용합니다. 예를 들어, 0.1초는 시간 초과에 대한 합법적인(현명하지는 않지만) 선택입니다. 1초 미만의 시간 초과는 서버 응답 시간을 확인하거나 네트워크 대기 시간을 테스트하는 데 유용합니다.
--dns-timeout=seconds
DNS 조회 시간 초과를 초로 설정합니다. 지정된 시간 내에 완료되지 않은 DNS 조회는 실패합니다. 기본적으로 DNS 조회에는 시스템 라이브러리에 의해 구현된 것 외에는 시간 초과가 없습니다.
--connect-timeout=seconds
연결 시간 초과를 초로 설정합니다. 설정하는 데 오랜 시간이 걸리는 TCP 연결은 중단됩니다. 기본적으로 시스템 라이브러리에서 구현한 것 외에는 연결 시간 초과가 없습니다.
--read-timeout=seconds
읽기(및 쓰기) 시간 초과를 초로 설정합니다. 이 제한 시간의 "시간"은 유휴 시간을 나타냅니다. 다운로드 중 어느 시점에서든 지정된 시간(초) 이상 데이터가 수신되지 않으면 읽기가 실패하고 다운로드가 다시 시작됩니다. 이 옵션은 전체 다운로드 기간에 직접적인 영향을 미치지 않습니다.
물론 원격 서버는 이 옵션이 요구하는 것보다 일찍 연결을 종료하도록 선택할 수도 있습니다. 기본 읽기 제한 시간은 900초입니다.
당신에도 불구하고가능한다음과 같은 스크립트를 작성하는 능력:
#!/bin/sh -
# an attempt to pause long enough for countdown before opening an accept port
wget https://some/long/url/download-file
sleep 9
exit
화타이