2014-12-13 2 views
8

컬을 사용하여 파일을 다운로드하려고하는데 작동하지 않습니다!Curl 명령이 파일을 다운로드하지 않습니다 (Linux mint)

curl -O https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o 

이것은 많은 공식 사이트에서 본 예입니다. 그들은 위의 명령이 hello.o 파일을 다운로드한다고 말합니다. 그렇지 않습니다! 그것은 단지 어떤 종류의 출력을 다운로드하고 같은 이름의 파일에 저장합니다. 나는 위의 명령을 실행하고 나는 hello.o의 내용을 인쇄 할 경우

, 그것은 말한다 : hello.o의

<html><body>You are being <a href="https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/help/hello.o">redirected</a>.</body></html> 

치수는 147 바이트입니다.

또한, 나는

wget https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o 

를 입력하면 그것은 정확히 어떻게 파일 hello.o을 다운로드! 자, 차원이 1,2 K

파일을 다운로드하는 방법이 있나요? wl을 사용하여 파일을 다운로드 할 수 있습니까?

감사합니다.

답변

13

컬, 당신은 다음과 같이 -L 플래그를 사용해야합니다 :

컬 -L https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o> hello.o 컬의 사람이 페이지에서

:

-L - location (HTTP/HTTPS) 서버가 요청한 페이지가 다른 위치 (Location : 헤더 및 3XX 응답 코드로 표시됨)로 이동했다는보고를 한 경우이 옵션은 새 장소에서 요청을 다시 실행합니다. -i, --include 또는 -I, --head와 함께 사용하면 요청한 모든 페이지의 헤더가 표시됩니다. 인증을 사용하면 curl은 자격 증명을 초기 호스트에만 보냅니다. 리디렉션이 다른 호스트로 컬링하는 경우 사용자 + 비밀번호를 가로 챌 수 없습니다. 이것을 변경하는 방법은 --location-trusted를 참조하십시오. --max-redirs 옵션을 사용하면 따라갈 리디렉션의 양을 제한 할 수 있습니다. 컬링이 리다이렉트를 따르고 요청이 일반 GET (예 : POST 또는 PUT)이 아닌 경우 HTTP 응답이 301, 302 또는 303 인 경우 GET으로 다음 요청을 수행합니다. 응답 코드가 다른 3xx 코드에서 curl은 수정되지 않은 동일한 방법을 사용하여 다음 요청을 다시 보냅니다.

귀하의 질문에 이미 답이 여기되었음을 양해하여 주시기 바랍니다 : How do I download a tarball from GitHub using cURL?

+1

정중 주셔서 감사합니다. –

+0

당신은 오신 것을 환영합니다. 그 질문에 대한 답변이 있으면 받아 들인 대답으로 선택하십시오. 고맙습니다. –

+0

답변 개선 : 'curl -I http : // releases.wikimedia.org/mediawiki/1.24/mediawiki-1.24.1.tar.gz'을 할 수 있습니다. '-I' 옵션을 사용하면 반환 된 HTTP 코드 (301)와 같이 요청에 관한 세부 정보를 얻을 수 있습니다. 그런 다음 요청한 콘텐츠에 대해 리디렉션이 구성되어 있는지 확인해야합니다. 안부와 대답에 대한 감사 :). – ivanleoncz

관련 문제