파일을 다운로드하려고 합니다.hpaid.tar.gz원격 서버에서 사용
wget --no-check-certificate http://xx.xx.xx/hpraid.tar
curl -O http://xx.xx.xx/hpraid.tar
하지만.gz파일명 부분에 확장자가 빠졌는데, 양측 모두 파일을 다운로드 받았습니다.얻다그리고곱슬 와일드카드가 없는 부분적인 파일 이름 일치로 인해 혼란스럽습니다.
나에게 강요할 수 있는 방법은 없을까?얻다그리고곱슬전체 파일 이름이 일치합니까?
답변1
curl -v telnet://xx.xx.xx:80/
서버의 hpraid.tar
확장 가능 여부를 사용하고 테스트할 수 있습니다 hpraid.tar.gz
.
예
대화식으로 사용하는 방법은 다음과 같습니다 curl
. 여기서는 서버에서 직접 다음 URL을 요청합니다 GET /
.
$ curl -svLI telnet://www.google.com:80/ <<< "GET /" | head -5
* Trying 74.125.141.99...
* Connected to www.google.com (74.125.141.99) port 80 (#0)
HTTP/1.0 200 OK
Date: Mon, 09 Jul 2018 19:39:10 GMT
Expires: -1
노트:위에서 우리는 GET /
Google에 메시지를 보냈고 Google에서 STATUS 200으로 응답한 것을 볼 수 있습니다.
너의 문제
서버가 파일 확장자를 추가하고 있는지 확인하려면 .gz
다음을 수행하여 직접 확인할 수 있습니다.
$ curl -v telnet://xx.xx.xx.xx/hbraid.tar <<< "GET /"
파일이 다운로드되는 것을 보면 서버가 추가 작업을 수행하고 있다는 것을 알 수 있습니다. 실패하면 클라이언트가 이 작업( curl
또는 wget
)을 수행하고 있음을 알 수 있습니다.
수동으로?
위의 문제 중 하나라도 발생하면 다음과 같이 수동으로 이 작업을 수행할 수 있습니다.
curl
서버 HTTP 포트$ curl -svLI telnet://www.google.com:80/ * Trying 74.125.141.99... * Connected to www.google.com (74.125.141.99) port 80 (#0)
URL 가져오기
GET / <--- hit Return after this 2 times!
시각적 검증 다운로드
추가 도구
socat
비슷한 것을 사용하거나 수행할 수도 있습니다 .nc