इंटरनेट से एक फ़ाइल डाउनलोड करें


21

परिचय

हाँ, यह उतना ही सरल है। इंटरनेट से किसी भी फ़ाइल को डाउनलोड करें!

नियम

आपको अपनी भाषा के एपीआई का उपयोग करना चाहिए।

आपको एसटीडीयूएसटी, कंसोल, एक फाइल आदि के लिए डाउनलोड की गई फ़ाइल को आउटपुट करना होगा।

इनपुट खाली होना चाहिए, या वह URL जिसे आप डाउनलोड करना चाहते हैं, लेकिन url को बाइट काउंट के लिए गिनना चाहिए।

सौभाग्य!

जवाबों:


14

बैश, 21 17 11 9 7 बाइट्स

curl ai

1
curlएक उपकरण नहीं है जो पहले से मौजूद है? :)
हाबिल टॉम

1
@AbelTom यह "आपकी भाषा का एपीआई" है
प्रोग्रामर

7
curl aihttp: // के लिए कोई ज़रूरत नहीं है। //
opatut

1
@SIGSEGV: करने के लिए उत्पादन की वजह से जो ऐसा नहीं करता stdout
मोनिका के साथ लाइटनेस दौड़

2
यह मेरे लिए काम नहीं करता है? क्या aiहोना चाहिए था? curl: (6) Could not resolve host: aiयहाँ देता है।
R

13

रोदा , 29 बाइट्स

{saveResource"http://ai","a"}

यह एक अनाम फ़ंक्शन है जो aHTML कोड वाली फ़ाइल बनाता है http://ai


1
अब उन्हें एफ़टीपी सर्वर चलाने के लिए मनाने के लिए ...
user253751

1
वह url कैसे मान्य है?
इयूलियन ओनोफ्रेई

1
@IulianOnofrei यह मान्य क्यों नहीं होगा? इसमें एक प्रोटोकॉल, एक होस्टनाम और कोई पोर्ट, पथ या क्वेरी स्ट्रिंग नहीं है, लेकिन वे सभी वैकल्पिक हैं। क्या आप पूछ रहे हैं कि ai एक मान्य होस्टनाम क्यों है?
user253751

1
@IulianOnofrei ai है एक टीएलडी। आमतौर पर TLD उस होस्ट वेबसाइटों के पते का समाधान नहीं करते हैं, लेकिन यह एक जाहिरा तौर पर करता है।
user253751

4
उन लोगों के लिए - जो मेरी तरह हैं - URL हल नहीं करता है, आप शायद इसे सीधे आईपी पते का उपयोग करके देख सकते हैं: 209.59.119.34
इंजीनियर टोस्ट

6

MATL, 8 बाइट्स

'v.ht'Xi

यदि यह पहले से ही नहीं है, तो Xi( urlread) को प्रदान किया गया URL पूर्व निर्धारित http://है। इसके अतिरिक्त आउटपुट में urlreadप्रतिक्रिया की सामग्री होती है और जब प्रोग्राम से बाहर निकलता है, तो इसे स्पष्ट रूप से मुद्रित किया जाता है।

दुर्भाग्य से यह ऑनलाइन कंपाइलरों के लिए काम नहीं करता है क्योंकि एक मनमाना URL से डेटा लोड करना ऑनलाइन मोड में अस्वीकृत है, इसलिए यहां GIF है। यहाँ छवि विवरण दर्ज करें


5

दे घुमा के, 45 43 बाइट्स

exec 3<>/dev/tcp/ai/80;echo GET />&3;cat<&3

फ़ाइल डिस्क्रिप्टर 3 पर ai साइट के साथ एक tcp सॉकेट खोलता है, एक परिणाम जारी करता है और परिणाम देता है। शायद आगे गोल्फ हो सकता है।


1
आप दोहरे उद्धरण चिह्नों को हटा सकते हैं "चारों ओर GET /
डिजिटल ट्रॉमा

गजब का! यह बहुत अच्छा है, भले ही यह सबसे छोटा न हो।
जॉन हाथवुड

4

गणितज्ञ 18 बाइट्स

URLDownload@"v.ht"

मुझे लगता है कि FetchURLकाम करता है
ngenisis

आपको लगता है कि आपको URLFetch11 से पहले मैथमेटिका संस्करण की आवश्यकता है
इयान मिलर

URLFetch अभी भी वर्तमान संस्करण में काम करता है, लेकिन कुछ बिंदु पर शायद पूरी तरह से पदावनत हो जाएगा, और उपयोगिताओं के URLTools संदर्भ
केला हेटरर

4

पॉवरशेल, 7 बाइट्स

चूंकि हम सभी का उपयोग कर रहे हैं www.ai...

irm ai.

का उपयोग करता है Invoke-RestMethod- StdOut करने के लिए परिणाम प्रिंट करता है

वैकल्पिक उत्तर, रन डायरेक्टरी, प्रयोग Invoke-WebRequestऔर -OutFileपरम में 'a' नाम की फाइल को सेव करता है ।

iwr ai. -OutF a

मैं नाइटपिक करने जा रहा हूं , जो irmडाउनलोड नहीं किया जाएगा any file, जैसा कि प्रश्न में अनुरोध किया गया है, क्योंकि यदि सर्वर जसन या एक्सएमएल लौटाता है, तो इसे बदले में PSObject में बदल दिया जाएगा। और irm ai.मेरे लिए काम नहीं करता है - यह कहता है कि नाम का समाधान नहीं किया जा सकता है ... मुझे "$(irm g.cn)"सुझाव के रूप में मिलता है।
TessellatingHeckler

के बारे में अच्छा बिंदु irm- @ जॉन हैथवुड - क्या यह अभी भी चुनौती के लायक है या इसे बदलने की आवश्यकता है? मैं 'किसी भी फाइल' पर थोड़ा स्पष्ट नहीं हूँ - यह किसी भी json या xml की एक 'पार्स' कॉपी को आउटपुट करता है, अन्य सभी फाइलें कच्ची लौटा दी जाती हैं।
15

@TessellatingHeckler PS के किस संस्करण का आप उपयोग कर रहे हैं? क्या आपको कुछ चल रहा है nslookup ai.या nslookup www.ai 8.8.8.8?
colsw

ऐ, यह Google DNS के खिलाफ क्वेरी का काम करता है, यह एक स्थानीय विंडोज DNS सर्वर है जो इसे हल नहीं कर सकता है। ठीक है। PSv4 के रूप में अच्छी तरह से, लेकिन यह शामिल नहीं है, एक ही cmd प्रॉम्प्ट पर।
TessellatingHeckler

@TessellatingHeckler हमेशा कुछ सरल आह, मैं चुनौती लेखक के लिए इंतजार कर रहा हूँ अगर ऊपर ठीक है, लेकिन सबसे अधिक संभावना है कि 15-बाइट का iwrउत्तर सही होगा।
colsw



3

जेएस (ईएस 6), 38 36 31 29 बाइट्स

fetch`//ai`.then(x=>x.text())

वादे की सहमति के आधार पर, (41 बाइट्स)

fetch`//ai`.then(x=>x.text()).then(alert)

5
जब तक हम वादे पर आम सहमति नहीं बना लेते, मैं कहता हूँ कि आपको इसकी आवश्यकता होगी alert
झबरा

@ शैगि मुझे लगता है कि समुदाय इस बात से सहमत है कि यह तरीका ठीक है, अपने उत्तर और मेरे मेटा क्यू पर वोट काउंट देखें।
प्रोग्रामर

1
क्या 10 मत एक आम सहमति बनाते हैं? (वास्तविक प्रश्न कि, हमें कितने वोटों की आवश्यकता है, यह मानने योग्य नहीं है?)
झबरा

क्या textकोई वादा वापस करता है या ...then(x=>alert(x.text()))काम करता है ?
user253751

1
@ शैग्गी यह अब स्वीकार्य है। सर्वसम्मति +5 और 2: 1 तक का अनुपात है।
R

2

आर, 24 बाइट्स

readLines('http://g.co')

आउटपुट को सामान्य आर प्रारूप में कंसोल करने के लिए प्रिंट करता है - स्ट्रिंग का वेक्टर, साइट का एक तत्व प्रति पंक्ति।



2

पायथन 2, 55 49 47 बाइट्स

छोटा नहीं है, लेकिन मुझे लगा कि मैं आगे जा सकता हूं।

from urllib import*
urlopen('http://ai').read

2
मुझे लगता from urllib import*\nurlopen('http://g.co').readहै कि दूसरी पंक्ति के रूप में एक वैध प्रस्तुतिकरण है एक अनाम फ़ंक्शन (बस एक अनाम
लंबो

@ हाँ, धन्यवाद!
पूरी तरह से

आपको अनुगामी कोष्ठक निकालने की आवश्यकता है। यह एक फ़ंक्शन के बजाय एक स्निपेट होगा अन्यथा
अंडा

IOError: [Errno socket error] [Errno 8] nodename nor servname provided, or not known
इयूलियन ओनोफ्रेई

1
@IulianOnofrei क्या आप TIO का उपयोग कर रहे हैं? TIO में चलाए जाने वाले कोड की इंटरनेट तक पहुंच नहीं है।
पूरी तरह से

1

विम पूर्व कमान, 14 बाइट्स

e http://3.ly/

URL को नए बफ़र के रूप में खोलता है। नेट्रव प्रतिबंधात्मक URL प्रारूप से गंभीर रूप से पीड़ित है।


1

nc -v v.ht 80 <फ़ाइल - 31 बाइट्स

फ़ाइल में कहाँ है:

GET / HTTP/1.1\r\n
Host: v.ht\r\n
\r\n

मुझे इस बारे में अज्ञानता है कि मुझे यह कैसे स्कोर करना चाहिए। फ़ाइल 31 बाइट्स है और इसमें वह URL है जो मुझे चाहिए, -vयदि मैं जिस फ़ाइल को चाहता हूं या त्रुटि प्रतिक्रिया प्राप्त करता हूं , तो ध्वज का मूल्य तय होता है।


nc ai 80<<<GET\ /मेरे लिए 18 बी
केविन

मैंने अन्य लोगों को इसका उपयोग करते देखा, लेकिन यह मेरी मशीन पर हल नहीं हुआ। मैं एक अधिक अनुमेय सर्वर खोजने में सक्षम हो सकता हूं, लेकिन इस Hostमूल्य की आवश्यकता है । मैं शायद अंतिम दो \r\nदोहे निकाल सकता हूं
जोशराज

अजीब, मेरी मशीन के aiलिए curlया का समाधान नहीं होगा wgetलेकिन के लिए करता है nc। कोशिश ai.(अनुगामी डॉट), या 3.ly। यह एक त्रुटि पृष्ठ है, लेकिन यह अभी भी चुनौती के दायरे में है।
केविन

हम्म, अगर त्रुटि पृष्ठ स्वीकार्य है तो मैं सिर्फ एक निकाय भेज सकता हूं \n। घर आने पर मैं कुछ और चीजें
आज़माऊँगा


0

HTML, 24 बाइट्स

<iframe src="http://ai">

यह तकनीकी रूप से विफल रहता है क्योंकि यह परिणाम प्रदान करता है ...


2
यह HTML के लिए नहीं है? 15 बाइट्स:<embed src=//ai
झबरा

0

विम, 2 + 12 = 14 बाइट्स

gf

URL http://3.ly/को इनपुट के रूप में अपेक्षित करता है । gfकर्सर के नीचे वर्तमान फ़ाइल खोलता है। Netrw के लिए धन्यवाद, यह URL के लिए ठीक काम करता है। मुझे यह अभी-अभी आपके ब्राउज़र में URL खोलने की कमांड को याद करने की कोशिश करते हुए मिला (यह पाया गया, यह है gx)।


0

पॉवरशेल, 62 बाइट्स

पॉवरशेल ५

-join[char[]][net.webclient]::new().downloaddata('http://ai.')

PowerShell के अधिक पुराने संस्करणों के लिए 66 बाइट्स

-join[char[]](new-object net.webclient).downloaddata('http://ai.')

0

पायथन + अनुरोध, 55 53 50 बाइट्स

from requests import*
print(get('http://ai').text)

URL को स्विच करके -2 बाइट्स -3 ov बाइट्स के लिए धन्यवाद


छोटे URL आमतौर पर अस्वीकृत नहीं होते हैं?
झबरा

3
वास्तव में, यह पाइथन + अनुरोध है, क्योंकि अनुरोध (दुख की बात है) मानक पुस्तकालय में नहीं है।
L3viathan

from request import*2 बाइट्स छोटा है
ovs

@ शैगी उम ... वेल्ड ... बहुत ज्यादा हर दूसरे जवाब में एक चीर का इस्तेमाल होता है। लेकिन मैंने इसे और भी छोटा बनाने के लिए अपना URL बदल दिया क्योंकि जाहिरा तौर पर http://aiयह एक वैध पूर्ण URL है ..
हाइपरयूट्रीनो

0

एएचके , 31 बाइट्स

URLDownloadToFile,http://g.co,g

एक अंतर्निहित है, इसलिए यह बहुत रोमांचक नहीं है। फैशन के लिए प्रयास करें, हालांकि, फ़ंक्शन काफी लंबा है।


0

बैश + विग, 7 बाइट्स

wget ai

पृष्ठ को http: // ai पर डाउनलोड करता है


मुझे "एआईआई को हल करना ... विफल रहा: नोडेनम और न ही नाम दिया गया, या नहीं जाना गया।" इसके साथ, हालांकि wget ai.(अनुगामी डॉट के साथ) काम करता है।
केविन

@ केविन मेरे सिस्टम पर काम करता है। ऐसा लगता है कि आप FreeBSD या macOS पर हैं।
dkudriavtsev

हां, मैकओएस सिएरा
केविन

@ केविन मैं लिनक्स पर हूं। एक वीएम की कोशिश करो।
dkudriavtsev

अजीब यह MacOS पर काम के बाद से यह एक ही कोड होना चाहिए और (कुछ os-विशिष्ट संकलक झंडे, जो मैं इसे बदलने के लिए उम्मीद करेंगे नहीं सापेक्ष) नहीं होगा, कि nslookup, digहै, और ncसब ठीक यह पाते हैं। ओह ठीक है, पहला अंतर जो मैंने देखा है, और इसके लिए वीएम स्थापित करने के लायक नहीं है।
केविन

0

रूबी, 27 + 10 = 37 बाइट्स

puts open('http://ai').read

-ropen-uriझंडे के लिए +10 बाइट्स (ओपन-यूरी लाइब्रेरी की आवश्यकता)


0

पर्ल, 41 बाइट्स

$ perl -MLWP::UserAgent -e 'getstore($url)'

नमस्ते, प्रोग्रामिंग पहेली और कोड-गोल्फ पर स्वागत है, चारों ओर नए पर्ल गोल्फरों को देखकर अच्छा लगा। आपको यह मानने की अनुमति नहीं है कि url एक चर के अंदर है (आपको उस भाग के बारे में संदर्भ लिंक नहीं मिल सकता है, क्षमा करें)। इसके अलावा, आप perl -e''अपने bytecount के अंदर गिनती करने की जरूरत नहीं है । झंडे और सह की गणना कैसे करें, इस पोस्ट को देखें । मुझे आशा है कि आप के आसपास मिलते हैं!
दादा

0

अजगर , 4 + 11 = 15 बाइट्स

jk'z

http://v.htइनपुट के रूप में URL के साथ। इनपुट के रूप में एक URL स्ट्रिंग लेता है, फ़ाइल डाउनलोड करता है, और इसकी सामग्री प्रिंट करता है।

स्पष्टीकरण:

jk'z
   z    Get the input string (URL)
  '     Download the file from the URL, return a list of lines
jk      Join the list on k which is the empty string

ध्यान दें कि हम sबाइट्स प्रकार के मुद्दों के कारण सूची को संक्षिप्त करने के लिए फ़ंक्शन का उपयोग नहीं कर सकते हैं।

थोड़ा धोखा, 2 + 11 = 13 बाइट्स (यह पूरी फ़ाइल के लिए एक स्ट्रिंग के बजाय फ़ाइल में लाइनों की सूची प्रदर्शित करता है):

'z

इसे जांचने के लिए आपको अपनी मशीन पर पाइथ स्थापित करना होगा (ऑनलाइन दुभाषिया असुरक्षित संचालन को अंजाम नहीं देता है)।


PPCG में आपका स्वागत है! बहुत अच्छा है, लेकिन "यूआरएल को बाइट काउंट करना होगा"।
जोनाथन एलन


0

MATLAB, 20 बाइट्स

urlread('http://ai')

यहां कुछ भी नहीं फैंसी ...


0

Kdb +, 34 15 बाइट्स

केडीबी +> = 3.4

 q).Q.hg`http://ai

से यहाँ

केडीबी + <३.४

q)`:http://ai"GET / HTTP/1.0",4#"\n"
"HTTP/1.1 200 OK\r\nDate: Thu, 11 May 2017 21:45:01 GMT\r\nServer: Apache/1.3..
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.