আমি কীভাবে উইজেটে ডাউনলোড ফাইল আকার সীমাবদ্ধ করতে পারি?


13

আমি wgetইমেজ ফাইলগুলি ডাউনলোড করতে (পিএইচপি স্ক্রিপ্ট থেকে) ব্যবহার করতে চাই, তবে নির্দিষ্ট আকারে ফাইলগুলি ডাউনলোড করতে চাই না।

আমি কি দিয়ে ফাইলের আকার সীমাবদ্ধ করতে পারি wget? তা না হলে এর থেকে উত্তম উপায় কী?

উত্তর:


14

আপনি যদি ডাউনলোডগুলি স্ক্রিপ্ট করছেন তবে curlপরিবর্তে আপনার ব্যবহারটি বিবেচনা করা উচিত । উইজেট আউটপুটকে বিশ্লেষণ করে এবং পুনরুত্পরিভাবে পুরো সাইটগুলি আনতে পারে তবে কার্লের কাছে একটি নির্দিষ্ট ফাইলের আসল ডাউনলোড সম্পর্কিত আরও অনেক বিকল্প রয়েছে। ম্যান পৃষ্ঠাতে প্রাসঙ্গিক বিকল্পটি এখানে:

--max-fileize
ডাউনলোড করার জন্য কোনও ফাইলের সর্বোচ্চ আকার (বাইটে) নির্দিষ্ট করুন Spec অনুরোধ করা ফাইলটি যদি এই মানটির চেয়ে বড় হয় তবে স্থানান্তর শুরু হবে না এবং প্রস্থান কোড 63৩ দিয়ে কার্ল ফিরে আসবে NOT
দ্রষ্টব্য: ডাউনলোডের আগে ফাইলের আকার সর্বদা জানা যায় না এবং এই জাতীয় ফাইলগুলির জন্য এই বিকল্পটির কোনও প্রভাব নেই যদিও ফাইল স্থানান্তর এই প্রদত্ত সীমাটির চেয়ে বড় হয়ে শেষ হয়।

শুধুমাত্র কিছু ফাইলের জন্য এটি সম্পর্কে কাজ করা নোটটি বিবেচ্য। ডাউনলোড শুরু হওয়ার আগে ফাইলটি কত বড় হতে চলেছে তা জানাতে ক্লায়েন্ট সার্ভারের উপর নির্ভরশীল। সর্বাধিক তবে অবশ্যই সমস্ত সার্ভার এটি রিপোর্ট করে না।


6
আপনি একটি ফাইল চেয়ে বড় তৈরি করা থেকে কার্ল নিষেধ একটি সিস্টেম সীমা সঙ্গে এই একত্রিত করতে পারেন $nবাইট: (ulimit -f $(($n/512)); curl --max-filesize $n …)curlযদি ফাইলের আকার $n/512512-বাইট ব্লক ছাড়িয়ে যায় তবে একটি ত্রুটি সহ বাতিল করা হবে ।
গিলস 21-22-

আপনি httrack করতে পারেন।
vi।

6

আপনি যদি উইজেট ব্যবহার করতে চান তবে ডাউনলোড না করেই ফাইলের আকার পরীক্ষা করার একটি উপায় এখানে রয়েছে:

wget --spider $URL 2>&1 | awk '/Length/ {print $2}'

$URLঅবশ্যই আপনি যে ফাইলটি ডাউনলোড করতে চান তার URL টি কোথায় ।

সুতরাং আপনি আউটপুট উপর ভিত্তি করে আপনার স্ক্রিপ্ট শর্ত করতে পারেন। যেমন:

{ [ $(wget --spider $URL 2>&1 | awk '/Length/ {print $2}') -lt 20971520 ] && wget $URL; } || echo file to big

ডাউনলোডের আকার 20 এমবি সীমাবদ্ধ করার জন্য।

(কোডটি কুৎসিত, কেবল তথ্যের জন্য)।


1

উইজেট সহ সর্বাধিক ফাইলের আকার নির্ধারণের কোনও যুক্তিসঙ্গত উপায় নেই বলে মনে হয়।


2
সঙ্গে গিলেজ এর পদক্ষেপ ulimit(দেখুন bash(1), setrlimit(2)) ও সঙ্গে কাজ করবে wget(1), যদিও এটি একটি বিট ভারী হাতে নেই।
১১:১০

0

উইজেটের একটি -Q --quotaবিকল্প রয়েছে যা বেশ কয়েকটি ডাউনলোডের পরিমাণ সীমাবদ্ধ করে যখন বেশ কয়েকটি ইউআরএল (পুনরাবৃত্ত বা ইনপুট তালিকা) দেওয়া হয়।

https://www.gnu.org/software/wget/manual/html_node/Download-Options.html

/programming//a/20318140/4364036

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