OS X: लिनक्स के wget के बराबर


497

मैं स्टॉक OS X सिस्टम पर Un * x शेल स्क्रिप्ट से HTTP GET कैसे कर सकता हूं? (थर्ड-पार्टी सॉफ्टवेयर इंस्टॉल करना एक विकल्प नहीं है, इसके लिए बहुत सारे अलग-अलग सिस्टम पर चलना पड़ता है, जिन पर मेरा नियंत्रण नहीं है)।

उदाहरण के लिए, यदि मैं स्थानीय रूप से एचआर सर्व कर रहा मर्क्यूरियल सर्वर शुरू करता हूं :

... $ hg serve 

और फिर, एक लिनक्स से जिसमें wget कमांड होती है, मैं 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 सर्व" कमांड लॉन्च किया था , मैं वास्तव में देख सकता हूं कि एक HTTP GET ने अपना रास्ता बनाया:

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

इसलिए लिनक्स पर शेल स्क्रिप्ट से HTTP GET करने का एक तरीका है कि आप wget का उपयोग करें (यदि वह कमांड कोर्स स्थापित है)।

एक दांव के बराबर करने के लिए और क्या तरीके हैं ? मैं देख रहा हूं, विशेष रूप से, कुछ के लिए जो स्टॉक ओएस एक्स इंस्टॉल पर काम करेगा।


2
इसके अलावा सुविधाजनक: mikebeach.org/2012/09/29/how-to-install-wget-in-mac-os-x
emilyk

जवाबों:


712

मैं कहने जा रहा हूँ curl http://127.0.0.1:8000 -o outfile


27
इसके अलावा, wget दोनों माध्यम से उपलब्ध है MacPorts और फिंक
ब्रायन क्लैपर

47
मैं मैक पर wget पाने के तरीके के बारे में एक Google खोज से आया था, इसलिए ओपी की आवश्यकता के बावजूद तीसरे पक्ष के सॉफ़्टवेयर की स्थापना से बचने के लिए, मैं एक त्वरित गाइड के लिए एक लिंक प्रदान करूँगा जो मैंने पाया कि भविष्य के लिए MacPorts का उपयोग किए बिना कैसे स्थापित करें संदर्भ।
एरिक एच।

32
यह Homebrew पर भी उपलब्ध है।
डैनियल का कहना है कि मोनिका

2
प्रतीत नहीं होता आगे की ओर।
निरुपित करें

14
फ़ाइलों को डाउनलोड करने के लिए आप स्वत: नाम से डाउनलोड की गई फ़ाइल का उपयोग -Oया --remote-nameफ़्लैग कर सकते हैं । जैसेcurl -O http://somehost.org/file.zip
nimcap

461

brew install wget

Homebrew yum, apt-get, choco, emerge, आदि के लिए OSX के अनुरूप एक पैकेज मैनेजर है। ध्यान रखें कि आपको Xcode और कमांड लाइन टूल्स को भी इंस्टॉल करना होगा। वस्तुतः कोई भी व्यक्ति जो OSX में कमांड लाइन का उपयोग करता है, वैसे भी इन चीजों को स्थापित करना चाहेगा।

यदि आप होमब्रे का उपयोग नहीं करना चाहते हैं या नहीं कर सकते हैं, तो आप भी कर सकते हैं:

मैन्युअल रूप से स्थापित करें:

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

या, एक बैश उपनाम का उपयोग करें:

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

11
आपको होमब्रेव को समझाने में कुछ समय लग सकता है, लेकिन यह महत्वपूर्ण है कि यहाँ एक नौसिखिया- wgetउत्तर दिखाई दे क्योंकि केवल एक अन्य को उसके मालिक द्वारा हटा दिया गया था, और curlयह एक शाब्दिक समकक्ष के बजाय एक विकल्प है।
क्रिस स्ट्रैटन

2
धन्यवाद, यह मेरे लिए उपयोगी था क्योंकि पहले से स्थापित शराब के साथ कोई।
एंडरलैंड

4
@Michaelangelo और दूसरों के पदों को बर्बर करना आपका काम नहीं है। आपको अपने स्वयं के अंक बनाने के लिए अन्य उत्तरों का संपादन नहीं करना चाहिए - यह अनुचित है। वास्तव में, मेटा पर कार्रवाइयों पर चर्चा की जा रही है: meta.stackoverflow.com/questions/315892/…
Zizouz212

2
@ EricHartford डाउन वोटिंग से समस्या हल नहीं होती है। यह एक विकल्प प्रदान करता है , दूसरे विकल्प को सूचीबद्ध किए बिना कि कैसे मैन्युअल रूप से स्थापित करें।
माइकल

1
मुझे लगता है कि आपके पास एक अच्छी बात है। और मैं आपके विचारों को शामिल करने के लिए उत्तर को संपादित करूंगा।
एरिक हार्टफोर्ड

87

कर्ल में एक मोड है जो लगभग डिफ़ॉल्ट विजेट के बराबर है।

curl -O <url>

यह वैसे ही काम करता है

wget <url>

और, यदि आप चाहें, तो आप इसे अपने .bashrc में जोड़ सकते हैं:

alias wget='curl -O'

यह 100% संगत नहीं है, लेकिन यह सबसे आम उपयोग के लिए काम करता है (IMO)


2
आप इसके साथ कैसे पुनरावृत्ति करते हैं?
जैस्पर

आप इसे इस तरह से लूप में जोड़ने के लिए बैश का उपयोग कर सकते हैं: for i in `seq 1 <n>` do curl -O <url>;done;जहां <n> आप इसे पुनरावृत्त करना चाहते हैं और <url> को खींचने के लिए url है।
ब्लेयरगें

1
कभी-कभी आपको -Lस्थान रीडायरेक्ट का पालन करने के लिए ध्वज को जोड़ने की आवश्यकता होगी । आप ऐसा करने के curl -OL <url>लिए उपयोग कर सकते हैं ।
गुस्तावो स्ट्राबे

1
-Oयह भी केवल अगले तर्क पर लागू होता है, इसलिए कई URL डाउनलोड करने के लिए आपको कुछ का उपयोग करना होगा curl -O "$url1" -O "$url2"या जैसे printf %s\\n "$url1" "$url2"|xargs -n1 curl -O
निसेतमा

यह एक शानदार साफ सुथरा टिप है। आपको बहुत - बहुत धन्यवाद!
cmcromance

42

1) अपने मैक प्रकार पर

nano /usr/bin/wget

2) निम्नलिखित में पेस्ट करें

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

3) करीब तो इसे निष्पादन योग्य बनाते हैं

chmod 777 /usr/bin/wget

बस।


एक उपनाम से बेहतर है।
एमके

3
लगभग सही है। मेरा मानना ​​है कि कदम एक vim /usr/bin/wgetहालांकि होना चाहिए ;) हैहा बस मजाक कर रहे हैं। उत्तर के लिए धन्यवाद - यह वास्तव में मेरे लिए कभी नहीं हुआ और किसी कारण से मुझे इसका उपयोग करने का मन नहीं है।
कासापो

3
-Lhttp 301प्रतिक्रियाओं को संभालने के लिए महत्वपूर्ण है । w डिफ़ॉल्ट रूप से उन्हें संभालता है।
डैनन ली

"curl -L resource.url / tar.tar.gz -O tar.tar.gz" ने ठीक काम किया, मेरे इस उपयोग के मामले में दूसरों के बीच एकमात्र एकमात्र समाधान के लिए धन्यवाद।
ओलेक्सी किस्लीत्सिन

सूडो नैनो / usr / बिन / wget
वीनो


12

यहाँ लिनक्स ओएस के बराबर मैक ओएस एक्स है।

लिनक्स के लिए, उदाहरण के लिए AWS उदाहरण पर उबंटू, का उपयोग करें:

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

एक मैक पर, यानी स्थानीय विकास के लिए, इसका उपयोग करें:

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

-O पैरामीटर को स्क्रीन पर ऑन करने के बजाय आउटपुट के लिए मैक पर आवश्यक है। डाउनलोड की गई फ़ाइल का नाम बदलने के लिए एक अलग लक्ष्य नाम निर्दिष्ट करें।

Wget के साथ नाम बदलने के लिए पूंजी -O का उपयोग करें । लोअरकेस -o ट्रांसफर लॉग के लिए आउटपुट फ़ाइल निर्दिष्ट करेगा।


5

आप या तो मैक मशीन पर wget का निर्माण कर सकते हैं या सीधे इसे स्थापित करने के लिए MacPorts का उपयोग कर सकते हैं।

sudo port install wget 

यह एक आकर्षण की तरह काम करेगा, इसके उपलब्ध होते ही आप नवीनतम संस्करण में भी अपडेट कर सकते हैं। पोर्ट काढ़ा की तुलना में बहुत अधिक स्थिर है, हालांकि सूत्र और बंदरगाहों की संख्या बहुत कम है।

आप MacPorts स्थापित https://www.macports.org/install.phpकर सकते हैं आप .pkgफ़ाइल डाउनलोड कर सकते हैं और इसे स्थापित कर सकते हैं।


और आप पोर्ट कैसे स्थापित करते हैं?
रॉय लवजॉय

5

समतुल्य के साथ जाने के बजाय, आप "काढ़ा स्थापित wget" की कोशिश कर सकते हैं और wget का उपयोग कर सकते हैं।

आप अपने मैक में काढ़ा स्थापित करने की आवश्यकता है।


1
नीचे नहीं जा रहा है, लेकिन यह एरिक के उत्तर दिए गए 13 जून 13 का एक प्रकार है।
MarkHu


2

WPG Precompiled मैक बाइनरी

मैक पर एक त्वरित विग स्थापित करने की तलाश करने वालों के लिए, क्वेंटिन स्टैफ़ोर्ड-फ्रेज़र के प्रीकम्पेल्ड बाइनरी की जांच करें, जो एक दशक से अधिक समय से है:

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

MD5 for 2008 wget.zip: 24a35d499704eecedd09e0dd52175582
MD5 for 2005 wget। ज़िप: c7b48ec3ff929d9bd28ddb87e1a76ffb

कोई मेक / इंस्टॉल / पोर्ट / काढ़ा / कर्ल जंक नहीं। बस डाउनलोड करें, इंस्टॉल करें, और चलाएं। मैक ओएस एक्स 10.3-10.12 + के साथ काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.