ইন্টারনেট থেকে একটি ফাইল ডাউনলোড করুন


21

ভূমিকা

হ্যাঁ, এটি এতটা সহজ। ইন্টারনেট থেকে যে কোনও ফাইল ডাউনলোড করুন!

বিধি

আপনাকে অবশ্যই আপনার ভাষার এপিআই ব্যবহার করতে হবে।

আপনার ডাউনলোড করা ফাইলটি STDOUT, কনসোল, একটি ফাইল ইত্যাদিতে অবশ্যই আউটপুট করতে হবে

ইনপুট খালি থাকতে হবে, বা আপনি যে URL টি ডাউনলোড করতে চান তা অবশ্যই হবে তবে ইউআরএল অবশ্যই বাইট গণনাতে গণনা করতে হবে ..

শুভকামনা!

উত্তর:


14

বাশ, 21 17 11 9 7 বাইট

curl ai

1
curlইতিমধ্যে উপস্থিত একটি সরঞ্জাম না? :)
আবেল টম

1
@ আবেলটম এটি "আপনার ভাষার এপিআই"
প্রোগ্রামার

7
curl aiকোনও
পোস্টের

1
@SIGSEGV: আউটপুট কারণ না stdout- এ
মনিকার সাথে লাইটনেস রেস

2
এটা আমার কাজ করে না? কী হওয়ার aiকথা? curl: (6) Could not resolve host: aiএখানে দেয় ।
R

13

Röda , 29 বাইট

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

এটি একটি অনামী ফাংশন যা aএইচটিএমএল কোডযুক্ত একটি ফাইল তৈরি করে http://ai


1
এখন তাদের এফটিপি সার্ভার চালানোর জন্য বোঝানোর জন্য ...
ব্যবহারকারীর 253751

1
কীভাবে ইউআরএল বৈধ?
আইউলিয়ান ওনোফ্রেই

1
@ ইউলিয়ানঅনফ্রেই কেন এটি বৈধ হবে না? এটিতে একটি প্রোটোকল, একটি হোস্টনাম এবং কোনও বন্দর, পথ বা কোয়েরি স্ট্রিং নেই তবে সেগুলি সমস্ত optionচ্ছিক। আপনি কি জিজ্ঞাসা করছেন যে আইআই একটি বৈধ হোস্ট-নেম কেন?
ব্যবহারকারী 253751

1
@IulianOnofrei ai হয় একটি টিএলডি। সাধারণত টিএলডিগুলি সেই হোস্ট ওয়েবসাইটগুলিকে সম্বোধন করার সমাধান করে না, তবে এটি দৃশ্যত তা করে।
ব্যবহারকারী 253751

4
যারা - আমার মতো - ইউআরএলটি সমাধান করে না, আপনি সম্ভবত এটি সরাসরি আইপি ঠিকানা ব্যবহার করে দেখতে পারেন: 209.59.119.34
ইঞ্জিনিয়ার টোস্ট

6

এমএটিএল, 8 বাইট

'v.ht'Xi

Xi( urlread) সরবরাহ করা ইউআরএল http://যদি এটি ইতিমধ্যে না থাকে তবে এটির সাথে চাপ দেওয়া হয়। অতিরিক্তভাবে আউটপুটটিতে urlreadপ্রতিক্রিয়াটির বিষয়বস্তু থাকে এবং প্রোগ্রামটি প্রস্থান করার সময় এটি স্পষ্টভাবে মুদ্রিত হয়।

দুর্ভাগ্যক্রমে এটি অনলাইন সংকলকগুলির পক্ষে কাজ করে না কারণ একটি স্বেচ্ছাসেবী ইউআরএল থেকে ডেটা লোড করা অনলাইন-মোডে অনুমোদিত নয়, সুতরাং এখানে একটি জিআইএফ রয়েছে's এখানে চিত্র বর্ণনা লিখুন


5

ব্যাশ, 45 43 বাইট

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

ফাইল বর্ণনাকারী 3 এ আই সাইটের সাথে একটি টিসিপি সকেট খোলে, একটি গেট দেয়, এবং ফলাফলগুলি বিড়ালগুলি। সম্ভবত আরও গল্ফ করা যেতে পারে।


1
আপনি "আশেপাশে ডাবল উদ্ধৃতি সরাতে পারেন GET /
ডিজিটাল ট্রমা

অ্যামেজিং! এটি খুব কম, এমনকি যদি এটি স্বল্পতম না হয়।
জন হ্যাথউড 20'20

4

গণিত 18 বাইট

URLDownload@"v.ht"

আমি মনে করি FetchURLকাজ করে
নেজিনিসিস

ভাবছেন যে আপনি URLFetch11 এর আগে ম্যাথমেটিক সংস্করণ প্রয়োজন যার অর্থ
ইয়ান মিলার

ইউআরএলফ্যাচ এখনও বর্তমান সংস্করণে কাজ করে তবে কোনও কোনও মুহূর্তে সম্ভবত সম্পূর্ণভাবে অবহেলা করা হবে এবং ইউটিলিটিস URLTools রেফারেন্সে
কেলি

4

পাওয়ারশেল, 7 বাইট

যেহেতু আমরা সবাই ব্যবহার করছি www.ai...

irm ai.

ব্যবহার Invoke-RestMethod- ফলাফলটি স্টডআউটে মুদ্রণ করে

বিকল্প উত্তর, রান ডিরেক্টরিতে 'a' নামক ফাইল ব্যবহার করে Invoke-WebRequestএবং -OutFileপ্যারাম সংরক্ষণ করে।

iwr ai. -OutF a

আমি নীটপিক যাচ্ছি যা irmডাউনলোড হবে না any file, যেমনটি প্রশ্নে অনুরোধ করা হয়েছে, কারণ সার্ভারটি যদি জসন বা এক্সএমএল ফেরত দেয় তবে পরিবর্তে এটি পিএসওজেক্টে রূপান্তরিত হবে। এবং irm ai.আমার পক্ষে কাজ করে না - এটি বলে যে নামটি সমাধান করা যায় না ... আমি "$(irm g.cn)"একটি পরামর্শ হিসাবে পাই ।
টেসেল্লাটিংহেকলার 11:25

সম্পর্কিত ভাল বিষয় irm- @ জন হ্যাথউড - এটি কি এখনও চ্যালেঞ্জের সাথে খাপ খায় বা পরিবর্তিত হওয়া দরকার? আমি 'কোনও ফাইলের' বিষয়ে কিছুটা অস্পষ্ট - এটি কোনও জেসন বা এক্সএমএল এর 'পার্সড' অনুলিপি দেয়, অন্য সমস্ত ফাইল কাঁচা ফিরে আসে।
কলসডু

@ টেসেল্লাটিংহেকলার পিএস এর কোন সংস্করণ ব্যবহার করছেন? তুমি কি কিছু চালাও nslookup ai.নাকি nslookup www.ai 8.8.8.8?
কলসা

হ্যাঁ, এটি গুগল ডিএনএসের বিরুদ্ধে অনুসন্ধানে কাজ করে, এটি একটি স্থানীয় উইন্ডোজ ডিএনএস সার্ভার যা এটি সমাধান করতে পারে না। ঠিক আছে. PSv4 পাশাপাশি, কিন্তু এটি জড়িত নয়, একটি সেন্টিমিডি প্রম্পটে একই।
টেসেল্ল্যাটিংহেকলার

@ টেসেল্ল্যাটিংহেকলার সর্বদা সাধারণ কিছু আহা, আমি চ্যালেঞ্জ লেখকের জন্য অপেক্ষা করবো যে উপরেরটি ঠিক আছে কিনা তা নিশ্চিত হওয়ার জন্য, তবে সম্ভবত 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
যতক্ষণ না আমরা প্রতিশ্রুতিগুলির বিষয়ে sensকমত্যে পৌঁছাচ্ছি, আমি বলব যে আপনার এটি করা দরকার alert
শেগি

@ শেগি আমি মনে করি সম্প্রদায়টি এই পথে ঠিক আছে বলে সম্মত হয়, আপনার উত্তর এবং আমার মেটা কিউয়ের উপর ভোট গণনা দেখুন।
প্রোগ্রামার

1
10 ভোট কি aকমত্য তৈরি করে? (আসল প্রশ্ন যে; এটি গ্রহণযোগ্য হিসাবে বিবেচনা করার জন্য আমাদের কতটা ভোটের দরকার?)
শেগি

না textএকটা প্রতিজ্ঞা ফিরে বা না ...then(x=>alert(x.text()))কাজ করে?
ব্যবহারকারী 253751

1
@ শেগি এটি এখন গ্রহণযোগ্য। Conক্যমত্যটি ডাউনভোটগুলির অনুপাত +5 এবং 2: 1 এর অনুপাত।

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হয় দ্বিতীয় লাইনটি একটি নামহীন ফাংশন (ঠিক একটি নামহীন
ল্যাম্বদা

@ ওভস হু, ধন্যবাদ!
সম্পূর্ণরূপে

আপনাকে পেছনের বন্ধনীগুলি সরিয়ে ফেলতে হবে। এটি অন্যথায় কোনও ফাংশনের পরিবর্তে একটি স্নিপেট হবে
ovs

IOError: [Errno socket error] [Errno 8] nodename nor servname provided, or not known
আইউলিয়ান ওনোফ্রেই

1
@ আইলিয়ানঅনফ্রেই আপনি কি টিআইও ব্যবহার করছেন? টিআইওতে চালিত কোডটির ইন্টারনেটে অ্যাক্সেস নেই।
সম্পূর্ণরূপে

1

ভিম এক্স কমান্ড, 14 বাইট

e http://3.ly/

নতুন বাফার হিসাবে URL খুলুন। নেট্রো সিরিয়াসলি ইউআরএল ফর্ম্যাট থেকে মারাত্মকভাবে ভোগে।


1

nc -v v.ht 80 <ফাইল - 31 বাইট

যেখানে ফাইল রয়েছে:

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

আমার কীভাবে এটি করা উচিত তা সম্পর্কে আমি অজ্ঞতা অনুভব করি। ফাইলটি 31 বাইটের এবং এতে আমি চাইলে ইউআরএল রয়েছে, -vপতাকাটি মানটি সিদ্ধান্ত নেয় আমি চাইলে ফাইলটি পাই বা ত্রুটির প্রতিক্রিয়া।


nc ai 80<<<GET\ /18 বিয়ের জন্য আমার পক্ষে কাজ করে
কেভিন

আমি অন্যান্য লোককে এটি ব্যবহার করে দেখলাম কিন্তু এটি আমার মেশিনে সমাধান হয় না। আমি আরও অনুমতিপ্রাপ্ত সার্ভারটি সন্ধান করতে সক্ষম হতে পারি তবে এর Hostমানটির প্রয়োজন। আমি সম্ভবত শেষ দুটি \r\nদম্পতি মুছে ফেলতে পারি
জোশরাগেম

বিজোড়, আমার মেশিন সমাধান না aiজন্য curlঅথবা wgetকিন্তু আছে nc। চেষ্টা করুন ai.(পিছনে বিন্দু), বা 3.ly। এটি একটি ত্রুটি পৃষ্ঠা, তবে এটি এখনও চ্যালেঞ্জের সীমার মধ্যে।
কেভিন

হুম, যদি ত্রুটি পৃষ্ঠাটি গ্রহণযোগ্য হয় তবে আমি ন্যায়বিচারের একটি বডি পাঠাতে পারি \n। আমি বাড়ীতে
উঠলে

1

র‌্যাকেট, 71 বাইট

(require net/url)(port->string(get-pure-port(string->url"http://ai")))

আশেপাশে খুব বেশি র্যাকেট উত্তর দেখতে পাবেন না।
ডেভিড কনরাড

0

এইচটিএমএল, 24 বাইট

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

প্রযুক্তিগতভাবে এটি ব্যর্থ হওয়ায় এটি ফলাফলটি উপস্থাপন করে ...


2
এটি কি এইচটিএমএল-এর জন্য স্টডআউট নয়? 15 বাইট:<embed src=//ai
শেগি

0

ভিম, 2 + 12 = 14 বাইট

gf

ইউআরপিটি http://3.ly/ইনপুট হিসাবে প্রত্যাশা করে । gfকার্সারের অধীনে বর্তমান ফাইলটি খোলে। নেটরুকে ধন্যবাদ, এটি ইউআরএল-এর জন্য দুর্দান্ত কাজ করে। আপনার ব্রাউজারে ইউআরএলগুলি খোলার কমান্ডটি মনে করার চেষ্টা করার সময় আমি এখনই এটি পেয়েছি (এটি এটি পেয়েছে gx)।


0

পাওয়ারশেল, 62 বাইট

পাওয়ারশেল 5

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

পাওয়ারশেলের আরও পুরানো সংস্করণগুলির জন্য 66 বাইট

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

0

পাইথন + অনুরোধ, 55 53 50 বাইট

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

ইউআরএলগুলি স্যুইচ করে -2 বাইট-ওভসকে ধন্যবাদ 3 বাইট


সংক্ষিপ্ত URL গুলি কি সাধারণত অনুমোদিত নয়?
শেগি

3
সত্যই, এটি পাইথন + অনুরোধ, যেহেতু অনুরোধগুলি হ'ল (দুঃখের সাথে) স্ট্যান্ডার্ড লাইব্রেরিতে নেই।
L3viathan

from request import*2 বাইট সংক্ষিপ্ত
ওভস

@ শেগি উম ... ওয়েলপ ... প্রায় প্রতিটি উত্তর একটি চাবুক ব্যবহার করেছে। তবে আমি আমার ইউআরএলটিকে আরও সংক্ষিপ্ত করার জন্য পরিবর্তন করেছি কারণ দৃশ্যত http://aiএকটি বৈধ পূর্ণ ইউআরএল ..
হাইপারনেট্রিনো 11:37


0

বাশ + উইজেট, 7 বাইট

wget ai

পৃষ্ঠাটি http: // এআইআই এ ডাউনলোড করুন


আমি পেয়েছি "সমাধান করা আই ... ব্যর্থ: নোডনাম বা সার্ভার নাম সরবরাহ করা, না জানা।" এটি দিয়ে, যদিও wget ai.(একটি পিছনের বিন্দু সহ) কাজ করে।
কেভিন

@ কেভিন আমার সিস্টেমে কাজ করে। আপনি ফ্রিবিএসডি বা ম্যাকোজে আছেন বলে মনে হচ্ছে।
dkudriavtsev

হ্যাঁ, ম্যাকস সিয়েরা
কেভিন

@ কেভিন আমি লিনাক্সে আছি একটি ভিএম চেষ্টা করুন।
dkudriavtsev

বিজোড় এটা MacOS কাজ যেহেতু এটি একই কোড হতে হবে এবং (কিছু অপারেটিং সিস্টেম-নির্দিষ্ট কম্পাইলার পতাকা, যা আমি এটি পরিবর্তন করতে আশা না modulo) হবে না, যে nslookup, digএবং ncসব জরিমানা খুঁজে নিন। ওহ ভাল, আমি দেখেছি প্রথম পার্থক্য না, এবং একটি ভিএম ইনস্টল করা মূল্য নয়।
কেভিন

0

রুবি, 27 + 10 = 37 বাইট

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

-ropen-uriপতাকার জন্য +10 বাইট (ওপেন-ইউরি লাইব্রেরি প্রয়োজন)


0

পার্ল, 41 বাইট

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

হাই, প্রোগ্রামিং ধাঁধা ও কোড-গল্ফে আপনাকে স্বাগতম, চারপাশে নতুন পার্ল গল্ফার দেখতে ভাল লাগল। ইউআরএলটি একটি ভেরিয়েবলের অভ্যন্তরে রয়েছে বলে আপনাকে মনে করার অনুমতি নেই (দুঃখিত, আপনাকে এই অংশটি সম্পর্কে কোনও রেফারেন্স লিঙ্কটি খুঁজে পাচ্ছেন না, দুঃখিত)। তদ্ব্যতীত, আপনাকে perl -e''আপনার বাইটকাউন্টের মধ্যে গুনতে হবে না । কীভাবে পতাকা ও সহ গণনা করা যায় সে সম্পর্কে এই পোস্টটি দেখুন । আশেপাশে দেখা হবে আশা করি!
দাদা

0

পাইথ , 4 + 11 = 15 বাইট

jk'z

http://v.htইনপুট হিসাবে 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

এটি পরীক্ষা করার জন্য আপনার মেশিনে পাইথ ইনস্টল করতে হবে (অনলাইন অনুবাদক অনিরাপদ ক্রিয়াকলাপ চালায় না)।


পিপিসিজিতে আপনাকে স্বাগতম! খুব ভাল, তবে "ইউআরএল অবশ্যই বাইট গণনাতে গুনতে হবে"।
জোনাথন অ্যালান


0

ম্যাটল্যাব, 20 বাইট

urlread('http://ai')

এখানে অভিনব কিছু নেই ...


0

কেডিবি +, 34 15 বাইট

কেডিবি +> = 3.4

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

থেকে এখানে

কেডিবি + <3.4

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..
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.