OS X : Linux의 wget에 해당


499

스톡 OS X 시스템의 Un * x 쉘 스크립트에서 HTTP GET을 수행하려면 어떻게해야합니까? (타사 소프트웨어 설치는 옵션이 아닙니다. 왜냐하면 내가 제어 할 수없는 많은 다른 시스템에서 실행해야하기 때문입니다).

예를 들어 Mercurial 서버를 로컬로 시작하여 hg serve를 수행하는 경우 :

... $ hg serve 

그런 다음 wget 명령 이있는 Linux에서 wget을 수행합니다.

... $  wget http://127.0.0.1:8000
--2010-12-31 22:18:25--  http://127.0.0.1:8000/
Connecting to 127.0.0.1:8000... connected.
HTTP request sent, awaiting response... 200 Script output follows
Length: unspecified [text/html]
Saving to: `index.html

그리고 "hg serve" 명령을 시작한 터미널에서 HTTP GET이 실제로 작동했음을 알 수 있습니다.

127.0.0.1 - - [30/Dec/2010 22:18:17] "GET / HTTP/1.0" 200 -

따라서 Linux에서 쉘 스크립트에서 HTTP GET을 수행하는 한 가지 방법은 wget 을 사용 하는 것입니다 (해당 명령이 설치되어있는 경우).

wget 과 동등한 다른 방법은 무엇입니까 ? 특히 스톡 OS X 설치에서 작동하는 것을 찾고 있습니다.


답변:


712

말해야 할거야 curl http://127.0.0.1:8000 -o outfile


27
또한 wgetMacPortsFink 를 통해 사용할 수 있습니다 .
Brian Clapper

47
Mac에서 wget을 얻는 방법에 대한 Google 검색에서 여기에 왔으므로 타사 소프트웨어 설치를 피하기 위해 OP의 요구 사항에도 불구하고 향후 MacPorts사용하지 않고 wget을 설치하는 방법대한 빠른 가이드 링크를 제공합니다 참고.
Eirik H

32
Homebrew에서도 이용할 수 있습니다.
Daniel은 Reinstate Monica가

2
앞으로 따르지 않는 것 같습니다.
nroose

14
파일을 다운로드 할 때 다운로드 한 파일의 이름을 자동으로 바꾸 -O거나 --remote-name플래그를 지정할 수 있습니다 . 예 :curl -O http://somehost.org/file.zip
nimcap

463

brew install wget

Homebrew 는 yum, apt-get, choco, emerge 등과 유사한 OSX 용 패키지 관리자입니다. Xcode 및 명령 줄 도구도 설치해야합니다. OSX에서 명령 행을 사용하는 사람은 사실상 이런 것들을 설치하기를 원할 것입니다.

홈브류를 사용할 수 없거나 사용하지 않으려는 경우 다음을 수행 할 수도 있습니다.

wget을 수동으로 설치하십시오.

curl -# "http://ftp.gnu.org/gnu/wget/wget-1.17.1.tar.xz" -o "wget.tar.xz"
tar xf wget.tar.xz
cd wget-1.17.1
./configure --with-ssl=openssl -with-libssl-prefix=/usr/local/ssl && make -j8 && make install

또는 bash 별명을 사용하십시오.

function _wget() { curl "${1}" -o $(basename "${1}") ; };
alias wget='_wget'

11
homebrew를 설명하는 데 약간의 시간이 걸릴 수 있지만 wget여기에 다른 유일한 답변은 소유자가 삭제했기 때문에 여기에 초보자 용 답변 이 있어야 curl하며 문자 그대로의 대안이 아닙니다.
Chris Stratton

2
고마워요, 이것은 이미 양조자가 설치된 사람에게 도움이되었습니다.
enderland

4
@Michaelangelo 그리고 그것은 다른 사람의 게시물을 훼손하는 당신의 일이 아닙니다. 자신의 의견을 제시하기 위해 다른 답변을 편집해서는 안됩니다. 사실, 작업은 메타 논의되고있다 : meta.stackoverflow.com/questions/315892/...
Zizouz212

2
@EricHartford Down-voting은 문제를 해결하지 못합니다. wget을 수동으로 설치하는 방법에 대한 다른 옵션을 나열하지 않고 한 가지 대안을 제공했습니다 .
Michaelangel007

1
나는 당신이 좋은 지적을 생각합니다. 그리고 귀하의 아이디어를 반영하기 위해 답변을 편집하겠습니다.
Eric Hartford

87

컬은 기본 wget과 거의 같은 모드를 가지고 있습니다.

curl -O <url>

이것은 다음과 같이 작동합니다

wget <url>

원하는 경우 .bashrc에 추가 할 수 있습니다.

alias wget='curl -O'

100 % 호환되지는 않지만 가장 일반적인 wget 사용 (IMO)에서 작동합니다.


2
이것으로 어떻게 재귀를합니까?
재스퍼

bash를 사용하여 이것을 다음과 같은 루프에 추가 할 수 있습니다. for i in `seq 1 <n>` do curl -O <url>;done;여기서 <n>은 반복하려는 횟수이고 <url>은 가져올 URL입니다.
Blairg23

1
때로는 -L위치 리디렉션을 따르기 위해 플래그를 추가해야합니다 . 그렇게 할 수 있습니다 curl -OL <url>.
Gustavo Straube

1
-O또한 단지 그래서 당신은 같은 것을 사용해야 할 여러 URL 다운로드, 다음 인수에 적용 curl -O "$url1" -O "$url2"또는 printf %s\\n "$url1" "$url2"|xargs -n1 curl -O.
nisetama

훌륭한 팁입니다. 정말 고맙습니다!
cmcromance

42

1) Mac 유형

nano /usr/bin/wget

2) 다음을 붙여 넣습니다.

#!/bin/bash
curl -L $1 -o $2

3) 닫고 실행 가능하게하십시오.

chmod 777 /usr/bin/wget

그게 다야.


별칭보다 낫습니다.
MK

3
거의 맞습니다. 나는 1 단계가 그래야한다고 vim /usr/bin/wget생각합니다.) 하하 그냥 농담입니다. 답변 주셔서 감사합니다-이것은 실제로 나에게 결코 발생하지 않았고 어떤 이유로 든 양조 / 핀 / 어떤 것을 설치하고 싶지 않기 때문에 쉬운 휴대용 답변을위한 kudos.
Kasapo

3
-Lhttp 301응답 을 처리하는 데 중요합니다 . wget은 기본적으로 이들을 처리합니다.
Donn Lee

"curl -L resource.url / tar.tar.gz -O tar.tar.gz"는이 유스 케이스에서이 유일하게 실행 가능한 솔루션 덕분에 잘 작동했습니다.
Oleksii Kyslytsyn

sudo nano / usr / bin / wget
Vino


12

다음은 Linux wget과 동등한 Mac OS X입니다.

Linux의 경우 (예 : AWS 인스턴스의 Ubuntu) 다음을 사용하십시오.

wget http://example.com/textfile.txt

Mac에서, 즉 로컬 개발을 위해 다음을 사용하십시오.

curl http://example.com/textfile.txt -o textfile.txt

화면 대신 파일로 출력하려면 Mac에서 -o 매개 변수가 필요합니다. 다운로드 한 파일의 이름을 바꾸려면 다른 대상 이름을 지정하십시오.

wget으로 이름을 바꾸려면 대문자 -O를 사용하십시오 . 소문자 -o는 전송 로그의 출력 파일을 지정합니다.


5

Mac 컴퓨터에서 wget을 빌드하거나 MacPorts를 사용하여 직접 설치할 수 있습니다.

sudo port install wget 

이것은 매력처럼 작동하며 사용 가능한 즉시 최신 버전으로 업데이트 할 수 있습니다. 포트는 양조보다 훨씬 안정적이지만 포트 수와 수식은 훨씬 적습니다.

MacPorts를 설치 https://www.macports.org/install.php하면 .pkg파일을 다운로드하여 설치할 수 있습니다.


그리고 어떻게 포트를 설치합니까?
Roy Lovejoy

5

동등하게 사용하는 대신 "brew install wget"을 시도하고 wget을 사용할 수 있습니다.

Mac에 brew가 설치되어 있어야합니다.


1
공감하지는 않지만 Eric이 6 월 13 일 '13에 답변 한 내용입니다.
MarkHu


2

미리 컴파일 된 Mac 바이너리

Mac에서 빠른 wget 설치를 원하는 경우 Quentin Stafford-Fraser의 사전 컴파일 된 바이너리를 확인하십시오. 10 년 이상 사용되었습니다.

https://statusq.org/archives/2008/07/30/1954/

2008 년 MD5 wget.zip : 24a35d499704eecedd09e0dd52175582
2005 년 MD5 wget.zip : c7b48ec3ff929d9bd28ddb87e1a76ffb

make / install / port / brew / curl 정크가 없습니다. 다운로드, 설치 및 실행 만하면됩니다. Mac OS X 10.3-10.12 이상에서 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.