کمانڈ لائن سے ریموٹ فائلوں کو ڈاؤن لوڈ کرنے کے لیے cURL کا استعمال
فہرست کا خانہ:
- کرل کے ساتھ عین مماثل فائلیں ڈاؤن لوڈ کریں -O
- ایک ریموٹ فائل کو مختلف نام کے ساتھ curl -o کے ساتھ محفوظ کرنا
- کرل کے ساتھ ایک ساتھ متعدد فائلیں ڈاؤن لوڈ کرنا
طاقتور curl کمانڈ لائن ٹول کو کسی بھی ریموٹ سرور سے فائلیں ڈاؤن لوڈ کرنے کے لیے استعمال کیا جا سکتا ہے۔ طویل عرصے سے کمانڈ لائن استعمال کرنے والے جانتے ہیں کہ یہ مختلف قسم کے حالات کے لیے کارآمد ثابت ہوسکتا ہے، لیکن چیزوں کو آسان رکھنے کے لیے، بہت سے لوگوں کو معلوم ہوگا کہ curl کے ساتھ فائل ڈاؤن لوڈ کرنا اکثر ویب براؤزر یا FTP کلائنٹ کو GUI کی جانب سے استعمال کرنے کا تیز تر متبادل ہوسکتا ہے۔ Mac OS X (یا لینکس)۔یہ مقامی حالات کے لیے مفید ہے، لیکن اس کی خاص اہمیت ہے اگر آپ ایسی صورت حال میں ہیں جہاں SSH کے ذریعے منسلک ہونے پر آپ کو ریموٹ میک پر کچھ ڈاؤن لوڈ کرنے کی ضرورت ہے۔
اس واک تھرو کے مقاصد کے لیے، ہم بنیادی طور پر دو عام طور پر سامنے آنے والے HTTP اور SFTP پروٹوکولز سے فائلز ڈاؤن لوڈ کرنے پر توجہ مرکوز کریں گے، حالانکہ یہ یاد رکھنا چاہیے کہ cURL بہت سے پروٹوکولز کو سپورٹ کرتا ہے۔ اگرچہ curl استعمال کرنا آسان ہے، لیکن کمانڈ لائن کے بارے میں کچھ علم رکھنے کی سفارش کی جاتی ہے۔
کرل کے ساتھ عین مماثل فائلیں ڈاؤن لوڈ کریں -O
بڑے حروف کا استعمال کرتے ہوئے -O جھنڈا کرل کے ساتھ ریموٹ سرور سے فائل کو ڈاؤن لوڈ کرتے ہوئے درست فائل کا نام برقرار رکھتا ہے، اس کے لیے بنیادی نحو درج ذیل ہے:
curl -O
اس کا مطلب ہے کہ اگر مخصوص URL فائل کا نام "sample.zip" ہے تو یہ فائل نام "sample.zip" کے ساتھ ڈاؤن لوڈ ہو جائے گی، اور اگر فائل کا نام کچھ بہت بڑا اور پیچیدہ ہے جیسے "LongExampleFileNameForOSXDaily-v- 1-3-51-نظرثانی-515b12-readme۔txt" ریموٹ سرور پر، یہ مقامی مشین پر اس عین نام کے ساتھ محفوظ کرے گا۔ فائل کے لمبے ناموں کو اکثر -O کے بجائے -o پرچم کے ساتھ بہتر طریقے سے ہینڈل کیا جاتا ہے، جس کا ہم جلد ہی پتہ دیں گے۔
باقاعدہ قارئین کو یاد ہوگا کہ ہم نے m3u اسٹریمنگ فائل سے اصل آڈیو مواد نکالنے کا طریقہ بتاتے وقت curl -O کمانڈ استعمال کیا تھا۔
کرل کے ساتھ کسی بھی ڈاؤن لوڈ کو شروع کرنا منتقلی کا فیصد، ڈاؤن لوڈ کرنے میں خرچ ہونے والا وقت اور باقی وقت اور منتقلی کی رفتار کو ظاہر کرتا ہے۔
اسکرین شاٹ نیچے چسپاں کی گئی مثال سے بہتر نمائندگی کرتا ہے، لیکن یہ کچھ اس طرح لگتا ہے:
% کل % موصول ہوا % Xferd اوسط رفتار وقت ٹائم ٹائم کرنٹ ڈاؤن لوڈ اپ لوڈ کل خرچ شدہ بائیں رفتار 100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- --:--:-- 142k
منتقلی کی رفتار دکھانے کے ساتھ آپ curl کے آؤٹ پٹ کو /dev/null پر ری ڈائریکٹ کر سکتے ہیں اور انٹرنیٹ کنکشن کی رفتار کو جانچنے کے لیے اسے استعمال کر سکتے ہیں، لیکن wget کمانڈ کو پڑھنے اور ٹرانسفر بار کو فالو کرنا آسان ہے اس لیے wget بہتر ہے۔ اس کام کے لیے موزوں ہے۔
ایک ریموٹ فائل کو مختلف نام کے ساتھ curl -o کے ساتھ محفوظ کرنا
لوئر کیس -o فلیگ کا استعمال آپ کو ڈاؤن لوڈ کی گئی فائل کے لیے ایک مختلف فائل کا نام بتانے کی اجازت دے گا جس سے ریموٹ سرور پر اس کا نام رکھا گیا ہے۔ یہ لمبے لمبے فائل کے ناموں کو کم کرنے یا صرف کسی چیز کو لیبل کرنے میں مددگار ثابت ہوسکتا ہے تاکہ اسے خود تلاش کرنا آسان ہو۔ عمومی ترکیب یہ ہوگی:
curl -o
مثال کے طور پر، اگر آپ کسی iOS IPSW فائل کو محفوظ کرنا چاہتے ہیں جو آپ کو ایپل سرورز پر لمبا پورا نام لیے بغیر درج ملی ہے، تو آپ درج ذیل کو استعمال کر سکتے ہیں:
curl -o iPhone5C-704.ipsw http://appldnld.apple.com/iOS7/031-1828.20131114.P3wE4/iPhone5, 3_7.0.4_11B554a_Restore.ips
یہ "iPhone5, 3_7.0.4_11B554a_Restore.ipsw" فائل کو ڈاؤن لوڈ کرے گا لیکن اسے زیادہ معنی خیز "iPhone5C-704.ipsw" کے طور پر چھوٹا نام دیا گیا ہے۔
اگر آپ فائل کو موجودہ ورکنگ ڈائرکٹری میں محفوظ نہیں کرنا چاہتے تو فائل کے نام کے حصے کے طور پر ایک راستہ اس طرح بتائیں:
curl -o ~/Desktop/localexample.dmg http://url-to-file/example.dmg
کرل کے ساتھ ایک ساتھ متعدد فائلیں ڈاؤن لوڈ کرنا
cURL ایک ہی وقت میں ایک سے زیادہ فائلوں کو آسانی سے ڈاؤن لوڈ کر سکتا ہے، آپ کو بس ایک سے زیادہ URL بتانے کی ضرورت ہے جیسے:
curl -O
مختلف ناموں والی فائلوں کے لیے، یا مختلف سرورز پر میزبانی کی گئی ہیں، یا مختلف ڈائرکٹری کے راستوں میں، مکمل URL استعمال کریں، مثال کے طور پر:
curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/ لائسنس/lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt
دوسری طرف، اگر ڈاؤن لوڈ کیے جانے والے فائلوں کے ناموں میں اضافہ ناموں کا استعمال ہو رہا ہے، تو آپ ڈاؤن لوڈ کی حد بتانے کے لیے بریکٹ استعمال کر سکتے ہیں، جیسے:
curl -O http://ftp.gnu.org/gnu/Licenses/fd1-1.txt
یہ fdl-1.1.txt، fd1-1.2.txt، اور fd1-1.3.txt فائلوں کو ایک ہی وقت میں ہر ایک منفرد URL کی وضاحت کیے بغیر پکڑ لے گا۔ یقیناً یہ صرف اس صورت میں کام کرتا ہے جب فائلیں ایک ہی ڈائرکٹری میں ایک ساتھ اور ایک ہی ڈومین میں ہوں۔
کرل کے ساتھ تصدیق کرنا
آپ -u جھنڈا استعمال کرکے cURL کے ساتھ توثیق بھی پاس کرسکتے ہیں:
curl -u user:pass -O ftp://remote_url/file-to-download.zip
ذہن میں رکھیں کہ bash ہسٹری پاسورڈ کو سادہ متن میں محفوظ کرے گی جب -u کا استعمال صارف نام اور پاس ورڈ کے ساتھ مخصوص کیا گیا ہے، اس طرح زیادہ تر حالات میں اس کی سفارش نہیں کی جاتی ہے۔ آپ 'curl' کے سامنے ایک جگہ رکھ کر اس کے ارد گرد حاصل کر سکتے ہیں۔اگر آپ اسپیس بار کو کمانڈ کا سابقہ لگانے کے لیے استعمال نہیں کرتے ہیں، تو شاید آپ محفوظ رہنے کے لیے بعد میں کمانڈ کی سرگزشت کو خالی کرنا چاہیں گے۔
معاون کرل پروٹوکولز اور HTTP اور FTP کے علاوہ استعمال
جیسا کہ پہلے ذکر کیا گیا ہے، cURL کا استعمال HTTP اور FTP سے بہت آگے ہے، کیونکہ curl مینوئل پیج کے اندراج میں تفصیل میں اضافی پروٹوکول کا ذکر ہے:
اس کے علاوہ، آپ دیکھیں گے کہ curl کو PUT اور POST کی درخواستوں، کوکیز، پراکسیز، سرنگوں، دوبارہ شروع کرنے، اور یہاں تک کہ HTTP ہیڈر کی معلومات حاصل کرنے یا صارف کے ایجنٹ کو تبدیل کرنے کے لیے بھی استعمال کیا جا سکتا ہے (مؤثر طریقے سے جعل سازی) بغیر کسی وقف شدہ ویب براؤزر کو استعمال کرنے کی ضرورت ہے۔
سب سے زیادہ کمانڈ لائن یوٹیلیٹیز کی طرح، آپ 'مین کرل' کمانڈ کے ساتھ مناسب مین پیج کو طلب کرکے کرل کے بارے میں بہت کچھ جان سکتے ہیں۔