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
또한 wget 은 MacPorts 와 Fink 를 통해 사용할 수 있습니다 .
— 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.