wget, 컬 명령은 부분 파일 이름을 허용합니다.

wget, 컬 명령은 부분 파일 이름을 허용합니다.

파일을 다운로드하려고 합니다.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)을 수행하고 있음을 알 수 있습니다.

수동으로?

위의 문제 중 하나라도 발생하면 다음과 같이 수동으로 이 작업을 수행할 수 있습니다.

  1. 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)
    
  2. URL 가져오기

    GET / <--- hit Return after this 2 times!
    
  3. 시각적 검증 다운로드

추가 도구

socat비슷한 것을 사용하거나 수행할 수도 있습니다 .nc

관련 정보