ویب پیجز لانے اور فائلوں کو اپنے ٹرمینل سے ڈاؤن لوڈ کرنے کے لیے curl کمانڈ کے استعمال کی وضاحت کرنے والا ایک وسیع گائیڈ
دی curl
کمانڈ ایک اور دلچسپ کمانڈ لائن یوٹیلیٹی ہے جو لینکس آپ کو پیش کر رہی ہے۔ curl
کمانڈ صارف کو سرور سے فائلیں لانے کی اجازت دیتی ہے۔
curl
RTMP، RTSP، SCP، SFTP، SMB، SMBS، SMTP، SMTPS، TELNET، HTTP، HTTPS، FTP، FTPS، IMAP، جیسے متعدد پروٹوکولز کے لیے اس کی حمایت کی وجہ سے ایپلیکیشن ڈویلپرز اور اکثر لینکس استعمال کرنے والوں کا ایک مقبول انتخاب ہے۔ IMAPS، DICT، فائل، گوفر، LDAP، LDAPS، POP3، POP3S، وغیرہ۔
curl
کمانڈ صرف آپ کے لیے ویب صفحات لانے کے علاوہ بہت کچھ کرتا ہے۔ اس کمانڈ کے ساتھ دستیاب اختیارات کو جاننا اسے آپ کے استعمال کے لیے زیادہ ورسٹائل بنا دیتا ہے۔ کے استعمال پر اچھی گرفت حاصل کرنے کے لیے آئیے ٹیوٹوریل میں غوطہ لگائیں۔ curl
کچھ مختصر مثالوں کا استعمال کرتے ہوئے کمانڈ۔
تنصیب
استعمال کرنے سے پہلے curl
کمانڈ، چیک کریں کہ آیا یہ آپ کے سسٹم پر پہلے سے انسٹال ہے۔ کمانڈ استعمال کریں۔ curl --version
چیک کرنے کے لیے curl
نصب ہے.
صورت میں اگر curl
انسٹال نہیں ہے، درج ذیل اقدامات استعمال کریں۔
Ubuntu اور Debian پر مبنی نظاموں پر، استعمال کریں:
sudo apt-get update
sudo apt-get install curl
RHEL، CentOs اور Fedora distros پر، استعمال کریں:
sudo yum install curl
اب استعمال کریں۔ curl --version
اس بات کا یقین کرنے کے لئے کہ یہ صحیح طریقے سے انسٹال ہوا ہے۔
curl --version
آؤٹ پٹ:
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) ng.01/ 0 librtmp/2.3 ریلیز-تاریخ: 2018-01-24 پروٹوکول: dict فائل ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps ٹیل نیٹ tftp Smtp smtps ٹیل نیٹ tftp Smtp smtps telnet tftp ایس پی آئی این ایس ایل این جی این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایف این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی آئی پی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی آئی پی آئی پی ایس ایل این ٹی ایس ایل این ٹی ایس ایل این ٹی آئی پی ایس ایل این ٹی آئی پی آئی پی ایس ایل این ٹی ایس ایل این ٹی ایس پی آئی پی ایس ایل این ٹی ایس پی آئی پی آئی پی این ٹی ایس ایل این ٹی ایس ایل این ٹی پی ایس libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL gaurav@ubuntu:~$
اب ہم استعمال کرنے کے لیے تیار ہیں۔ curl
کمانڈ.
CURL کمانڈ کے ساتھ اختیارات دستیاب ہیں۔
آئیے سب سے پہلے اس کے ساتھ دستیاب کچھ نمایاں آپشنز پر ایک نظر ڈالتے ہیں۔ curl
کمانڈ.
اختیار | تفصیل |
-u | FTP سرور سے فائلیں ڈاؤن لوڈ کرنے کے لیے |
-سی | روکے ہوئے ڈاؤن لوڈ کو دوبارہ شروع کرنے کے لیے |
-o | کے نتیجے کو بچانے کے لئے curl پہلے سے طے شدہ فائل نام کے ساتھ کمانڈ |
-میں | ایک متعین URL کے HTTP ہیڈر حاصل کرنے کے لیے |
-او | کے نتیجے کو بچانے کے لئے curl اصل فائل نام کے ساتھ کمانڈ |
--libcurl | C سورس کوڈ کو آؤٹ پٹ کرنے کے لیے جو استعمال کرتا ہے۔ libcurl مخصوص آپشن کے لیے |
-ایکس | یو آر ایل تک رسائی کے لیے پراکسی استعمال کرنے کے لیے |
-# | ڈاؤن لوڈ کی حیثیت دکھانے کے لیے پروگریس بار کو ظاہر کرنے کے لیے |
CURL کا استعمال کرتے ہوئے ویب پیج کو بازیافت کرنا
دی curl
کمانڈ، جب بغیر کسی اختیار کے استعمال کیا جاتا ہے، کمانڈ میں بیان کردہ URL کا مواد حاصل کرتا ہے۔
نحو:
curl [URL]
مثال:
curl //allthings.how
آؤٹ پٹ:
gaurav@ubuntu:~$ curl //allthings.how html{overflow-x:hidden!important}html.i-amphtml-fie{height:100%!important;width:100%!important}html:not([amp4ads) ])،html:not([amp4ads]) body{height:auto!important}html:not([amp4ads]) body{margin:0!important}body{-webkit-text-size-adjust:100%;- moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html.i-amphtml-singledoc.i-amphtml-embedded{-ms-touch -action:pan-y;touch-action:pan-y}html.i-amphtml-fie>body,html.i-amphtml-singledoc>body{overflow:visible!important}html.i-amphtml-fie:not (.i-amphtml-inabox)>body,html.i-amphtml-singledoc:not(.i-amphtml-inabox)>body{position:relative!important}html.i-amphtml-webview>body{overflow-x :hidden!important;overflow-y:visible!important;min-height:100vh!important}html.i-amphtml-ios-embed-legacy>body{overflow-x:hidden!important;overflow-y:auto!important ;position:absolute!important}html.i-amphtml-ios-embed{overflow-y:auto!important;position:static}#i-amphtml-wrapper{overflow-x:hidden!important;over flow-y:auto!important;position: absolute!important;top:0!important;left:0!important;right:0!important;botom:0!important;margin:0!important;display:block!important} html.i-amphtml-ios-embed.i-amphtml-ios-overscroll,html.i-amphtml-ios-embed.i-amphtml-ios-overscroll>#i-amphtml-wrapper{-webkit-overflow-scrolling: touch!important}#i-amphtml-wrapper>body{position:relative!important;border-top:1px ٹھوس شفاف!important}#i-amphtml-wrapper+body{visibility:visible}#i-amphtml-wrapper+body .i-amphtml-lightbox-element,#i-amphtml-wrapper+body[i-amphtml-lightbox]{visibility:hidden}#i-amphtml-wrapper+body[i-amphtml-lightbox] .i-amphtml-lightbox عنصر{visibility:visible}#i-amphtml-wrapper.i-amphtml-scroll-disabled,.i-amphtml-scroll-disabled{overflow-x:hidden!important;overflow-y:hidden!important}amp-instagram {padding:54px 0px 0px!important;background-color:#fff}amp-iframe iframe{box-sizing:border-box!important[amp-access][amp-access-hide]{display:none[سبسکرپشنز -dialog],body:not(.i-amphtml-s ubs-ready) [subscriptions-action],body:not(.i-amphtml-subs-ready) [سبسکرپشنز سیکشن]{display:none!important}amp-experiment,amp-live-list>[اپ ڈیٹ]{ڈسپلے :none}.i-amphtml-jank-meter{position:fixed;background-color:rgba(232,72,95,0.5);bottom:0; right:0;color:#fff;font-size:16px; z-index:1000;padding:5px}amp-list[resizable-children]>.i-amphtml-loading-container.amp-hidden{display:none!important}amp-list [fetch-error],amp-list [مزید بوجھ] [لوڈ-زیادہ-بٹن]،amp-لسٹ[لوڈ-مزید] [لوڈ-زیادہ-اینڈ]،amp-لسٹ[لوڈ-مور] [لوڈ-زیادہ-ناکام]،امپ-لسٹ[لوڈ -مزید] [لوڈ-زیادہ-لوڈنگ]{ڈسپلے:کوئی نہیں}amp-لسٹ[diffable] div[role=list]{display:block}amp-story-page,amp-story[اسٹینڈ تنہا]{min-height:1px !اہم؛ ڈسپلے: بلاک! اہم؛ اونچائی: 100%! اہم؛ مارجن: 0! اہم؛ پیڈنگ: 0! اہم؛ اوور فلو: پوشیدہ! اہم؛ چوڑائی: 100%! اہم} amp-سٹوری[اسٹینڈ اکیلی]{پس منظر- رنگ:#202125!اہم؛پوزیشن:رشتہ دار!اہم}amp-story-page{background-color:#757575}amp-story .amp-active>div,amp-story .i-amphtm l-loader-background{display:none!important}amp-story-page:not(:first-of-type):not([distance]):not([active]){transform:translateY(1000vh)!اہم }amp-autocomplete{position:relative!important;display:inline-block!important}amp-autocomplete>input,amp-autocomplete>textarea{padding:0.5rem;border:1px solid rgba(0,0,0,0.33) }.i-amphtml-autocomplete-results,amp-autocomplete>input,amp-autocomplete>textarea{font-size:1rem;line-height:1.5rem[amp-fx^=fly-in]{visibility:hidden} amp-script[nodom]{position:fixed!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;visibility:hidden}
یہاں، ویب پیج کا مواد براہ راست آپ کے ٹرمینل پر سورس کوڈ کے طور پر لایا جاتا ہے۔
آپ اختیارات استعمال کر سکتے ہیں۔ -o
اور -او
کے ساتہ curl
اس مواد کو فائل میں محفوظ کرنے کا حکم۔
کب -o
آپشن استعمال کیا جاتا ہے، یو آر ایل کا مواد آپ کی موجودہ ڈائرکٹری میں صارف کے متعین فائل نام کے ساتھ محفوظ کیا جاتا ہے۔
نحو:
curl -o [userdefined_filename] [URL]
مثال:
gaurav@ubuntu:~/workspace$ curl -o ath.html //allthings.how % Total % Received % Xferd اوسط سپیڈ ٹائم ٹائم ٹائم کرنٹ ڈاؤن لوڈ اپ لوڈ ٹوٹل خرچ شدہ لیفٹ سپیڈ 100 199k 100 199k 0 0 0 583047 0:00:03 --:--:-- 58743 gaurav@ubuntu:~/workspace$ ls ath.html gaurav@ubuntu:~/workspace$
اس مثال میں، URL 'allthings.how' کا مواد میری موجودہ ورکنگ ڈائرکٹری میں ath.html نام کی HTML فائل کے طور پر محفوظ کیا گیا ہے۔ اس HTML فائل کو کھولنے پر، مجھے محفوظ کردہ ویب صفحہ پر بھیج دیا جائے گا۔
CURL کمانڈ کا استعمال کرتے ہوئے فائلوں کو ڈاؤن لوڈ کرنا
کا استعمال کرتے ہوئے -او
curl کمانڈ کے ساتھ آپشن مواد یا ویب پیج یا ڈاؤن لوڈ کے قابل پیکج کو بطور فائل محفوظ کرتا ہے لیکن اس فائل کو اس کے اصل نام کے ساتھ محفوظ کرتا ہے۔
آئیے اسے ایک مثال کے ذریعے دیکھتے ہیں:
مثال:
یہاں میں نے استعمال کیا ہے۔ curl
کے ساتھ حکم -او
اوبنٹو پیکج کو ڈاؤن لوڈ کرنے کا آپشن ' نامیcherrytree_0.37.6-1.1_all.deb'اوبنٹو پیکیج ریپوزٹری سے۔
gaurav@ubuntu:~/workspace$ curl -O //kr.archive.ubuntu.com/ubuntu/pool/universe/c/cherrytree/cherrytree_0.37.6-1.1_all.deb % کل % موصول ہوا % Xferd اوسط رفتار وقت کا وقت موجودہ ڈاؤن لوڈ اپ لوڈ کل خرچ کردہ بائیں رفتار 100 613k 100 613k 0 0 220k 0 0:00:02 0:00:02 --:--:-- 220k gaurav@ubuntu:~/workspace$
آؤٹ پٹ:
trinity@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb trinity@ubuntu:~/workspace$
لہٰذا، پیکیج کو اب اس کے اصل نام کے ساتھ موجودہ ورکنگ ڈائرکٹری (CWD) میں ڈاؤن لوڈ اور محفوظ کیا گیا ہے۔
فائل ڈاؤن لوڈ کرتے وقت پروگریس بار ڈسپلے کرنا
کا استعمال کرتے ہوئے ایک اور جمالیاتی ترمیم دستیاب ہے۔ curl
فائل ڈاؤن لوڈ کرنے کا حکم۔ آپ اپنے ٹرمینل پر پروگریس بار کی شکل میں اپنی فائل ڈاؤن لوڈ کی پیشرفت دیکھ سکتے ہیں۔ آپ کو صرف شامل کرنے کی ضرورت ہے۔ -#
فائل ڈاؤن لوڈ کرنے کے لیے آپ کے کمانڈ کے ساتھ آپشن۔
آئیے اس موافقت کی ایک مثال دیکھتے ہیں۔
نحو:
curl -# -O [URL]
مثال:
gaurav@ubuntu:~/workspace$ curl -# -O //archive.ubuntu.com/ubuntu/pool/main/e/emacs-defaults/emacs-defaults_47.0.tar.xz ######## ############################ ############################ #################################### 100.0% gaurav@ubuntu:~/workspace$
آؤٹ پٹ:
gaurav@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb emacs-defaults_47.0.tar.xz gaurav@ubuntu:~/workspace$
اس آؤٹ پٹ میں، آپ دیکھ سکتے ہیں کہ میں نے ایک پیکیج ڈاؤن لوڈ کیا ہے جس کا نام ہے 'emacs-defaults_47.0.tar.xzمیرے CWD میں اور پروگریس بار ٹرمینل میں اس وقت ظاہر ہوتا ہے جب ڈاؤن لوڈنگ جاری تھی۔
CURL میں روکے ہوئے ڈاؤن لوڈ کو دوبارہ شروع کیا جا رہا ہے۔
کئی بار، ایسی صورت حال پیدا ہوسکتی ہے جہاں آپ کو بڑے سائز کی فائلیں ڈاؤن لوڈ کرنی پڑیں۔ بعض اوقات بجلی کی خرابی یا نیٹ ورک کی خرابی جیسی کچھ وجوہات کی وجہ سے ڈاؤن لوڈ مکمل فائل کو ڈاؤن لوڈ کیے بغیر عمل کے وسط میں روک سکتا ہے۔ یہاں تک کہ اگر آپ دبائیں گے۔ Ctrl+C
ٹرمینل میں، عمل ختم ہو جاتا ہے۔
دی curl
کے ساتھ استعمال ہونے پر کمانڈ -سی
آپشن روکے ہوئے ڈاؤن لوڈ کو دوبارہ شروع کرتا ہے۔
نحو:
curl -C - -O [URL]
مثال:
اس مثال میں، میں نے Ubuntu ویب سائٹ سے Ubuntu 20.04 ISO امیج ڈاؤن لوڈ کرنے کی کوشش کی ہے۔
gaurav@ubuntu:~/workspace$ curl -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.1184373179.1600-1184373179.1600250974579.1600250974%%59150979.179.160025097250979.179.1600250972550979%. ٹائم ٹائم ٹائم کرنٹ ڈاؤن لوڈ اپ لوڈ کل خرچ شدہ بائیں رفتار 0 2656M 0 1744k 0 0 87038 0 8:53:17 0:00:20 8:52:57 77726^C
یہاں، میں نے جان بوجھ کر ڈاؤن لوڈ کرنے کے عمل کو روک دیا۔ Ctrl+C
.
اب میں استعمال کروں گا۔ -سی
کے ساتھ آپشن curl
اسی ذریعہ کی ویب سائٹ سے رکاوٹ شدہ ڈاؤن لوڈ کو دوبارہ شروع کرنے کا حکم۔
آؤٹ پٹ:
gaurav@ubuntu:~/workspace$ curl -C - -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.1184373179.16024373179.16029414501941945019419450495049504950 سے منتقلی ** بائٹ پوزیشن 1851392 % کل % موصول ہوئی % Xferd اوسط رفتار وقت وقت وقت موجودہ ڈاؤن لوڈ اپ لوڈ ٹوٹل خرچ شدہ بائیں رفتار 0 2654M 0 20.2M 0 0 57940 0 13:20:35 0:06:19191827
ڈاؤن لوڈ کو وہاں سے اٹھایا گیا ہے جہاں سے اسے ختم کیا گیا تھا۔
CURL کا استعمال کرتے ہوئے FTP سرور سے فائلیں ڈاؤن لوڈ کرنا
کے ساتھ یہ بہت آسان ہے۔ curl
کا استعمال کرتے ہوئے FTP سرور سے فائل ڈاؤن لوڈ کرنے کا حکم -u
اختیار یو آر ایل داخل کرنے سے پہلے آپ کو کمانڈ میں صارف نام اور پاس ورڈ ڈالنا ہوگا۔
نحو:
curl -u [صارف کا نام]:[پاس ورڈ] [URL]
مثال کے لیے، میں ایک آن لائن پبلک FTP استعمال کروں گا۔
مثال:
gaurav@ubuntu:~/workspace$ curl -O -u [email protected]:eUj8GeW55SvYaswqUyDSm5v6N ftp://ftp.dlptest.com/16-Sep-20-16-0-0.csv % کل % Xdver وصول کریں سپیڈ ٹائم ٹائم ٹائم کرنٹ ڈاؤن لوڈ اپ لوڈ ٹوٹل اسپیڈ لیفٹ سپیڈ 100 390 100 390 0 0 93 0 0:00:04 0:00:04 --:--:-- 93 gaurav@ubuntu:~/workspace$
یہاں، میں نے ایک فائل ڈاؤن لوڈ کی ہے جس کا نام ہے '16-ستمبر-20-16-0-0.csv’ اس ایف ٹی پی سرور سے اور اسے اس کے اصل نام کے ساتھ میرے CWD میں محفوظ کیا۔ میں ڈاؤن لوڈ کی گئی فائل کو استعمال کرکے چیک کروں گا۔ ls
کمانڈ.
gaurav@ubuntu:~/workspace$ ls -al کل 1092 drwxrwxr-x 3 gaurav gaurav 4096 ستمبر 16 16:15 ۔ drwxr-xr-x 87 gaurav gaurav 266240 Sep 16 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 Sep 16 16:15 16-Sep-20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 204429 ستمبر 16 11:45 ath.html gaurav@ubuntu:~/workspace$
CURL کا استعمال کرتے ہوئے متعدد فائلوں کو ایک ساتھ ڈاؤن لوڈ کرنا
کا استعمال کرتے ہوئے ایک ساتھ متعدد فائلوں کو ڈاؤن لوڈ کرنا curl
کمانڈ بہت آسان کام ہے۔ آپ صرف استعمال کریں۔ -او
کے ساتھ آپشن curl
اسی طرح کی کمانڈ کریں جس طرح ہم نے اوپر والے بلاکس میں کارکردگی کا مظاہرہ کیا ہے۔
نحو:
curl -O [URL-1] -O [URL-2] -O[URL-n]
مثال:
gaurav@ubuntu:~/workspace$ curl -O //archive.ubuntu.com/ubuntu/pool/universe/a/aegean/aegean_0.15.2+dfsg-1.debian.tar.xz -O //archive.ubuntu. com/ubuntu/pool/main/a/apache2/apache2_2.4.29.orig.tar.gz % کل % موصول ہوا % Xferd اوسط رفتار کا وقت وقت موجودہ ڈاؤن لوڈ اپ لوڈ ٹوٹل خرچ شدہ بائیں رفتار 100 63500 100 63505 100: 040505 01 0:00:01 --:--:-- 55458 100 8436k 100 8436k 0 0 123k 0 0:01:08 0:01:08 --:--:-- 127k gaurav@ubuntu:~/workspace $
اس مثال میں، میں نے اوبنٹو ریپوزٹری سے دو مختلف پیکجز ڈاؤن لوڈ کیے ہیں۔
آؤٹ پٹ:
gaurav@ubuntu:~/workspace$ ls -al کل 9596 drwxrwxr-x 3 gaurav gaurav 4096 ستمبر 16 16:28 ۔ drwxr-xr-x 87 gaurav gaurav 266240 Sep 16 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 Sep 16 16:15 16-Sep-20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 63500 Sep 16 16:28 aegean_0.15.2+dfsg-1.debian.tar.xz -rw-r--r-- 1 gaurav gaurav 8638793 Sep 16 16:29 ache. orig.tar.gz -rw-r--r-- 1 gaurav gaurav 204429 ستمبر 16 11:45 ath.html gaurav@ubuntu:~/workspace$
دونوں پیکجز کو ایک ہی وقت میں curl کمانڈ کا استعمال کرتے ہوئے ڈاؤن لوڈ کیا جاتا ہے۔
CURL کے ساتھ URL کے HTTP ہیڈرز کو بازیافت کرنا
کسی بھی یو آر ایل کے HTTP ہیڈر فیلڈز میں مفید معلومات ہوتی ہیں جیسے یوزر ایجنٹ، مواد کی قسم، انکوڈنگ وغیرہ۔ یہ ہیڈر فائلز میسج باڈی میں بھیجے گئے آبجیکٹ کے بارے میں بھی معلومات فراہم کرتی ہیں۔درخواست اور جواب کے بارے میں تفصیلات بھی ان HTTP ہیڈرز سے حاصل کی جاتی ہیں۔
آپ استعمال کر سکتے ہیں curl
کے ساتھ حکم -میں
URL کے یہ HTTP ہیڈر حاصل کرنے کا آپشن۔
نحو:
curl -I [URL]
مثال:
gaurav@ubuntu:~/workspace$ curl -I www.firefox.com HTTP/1.1 200 OK مواد کی قسم: متن/html؛ charset=ISO-8859-1 P3P: CP="یہ P3P پالیسی نہیں ہے! مزید معلومات کے لیے g.co/p3phelp دیکھیں۔" تاریخ: بدھ، 16 ستمبر 2020 11:17:00 GMT سرور: gws X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN Transfer-Encoding: chunked expires: بدھ، 16 ستمبر 2020 11:17:00 GMT Cache کنٹرول: نجی سیٹ-کوکی: 1P_JAR=2020-09-16-11؛ میعاد ختم ہوتی ہے= جمعہ، 16-اکتوبر-2020 11:17:00 GMT؛ راستہ =/؛ domain=.google.com؛ سیٹ کوکی کو محفوظ کرو: NID = 204 = SpeHTVXkKYwe6uaKYLsPWmCA0A-sGb94c9jpbw067e7uhyeJnkap6TFEIESztwLOEst7KcDSBLgGrokh1EM2IZi2VPVzllH0tsvCu-QbKiunPoPJ6dD7oAnB7rxu30rAiO630vYm6SG1zbmGgxNEiB-adXp24h7iEoSq9WsjrGg؛ میعاد ختم ہوتی ہے=Thu, 18-Mar-2021 11:17:00 GMT؛ راستہ =/؛ domain=.google.com؛ HttpOnly gaurav@ubuntu:~/workspace$
اس مثال میں میں نے ' کے HTTP ہیڈر حاصل کیے ہیںwww.firefox.com‘.
CURL کا استعمال کرتے ہوئے C-Source کوڈ کو بازیافت کرنا
استعمال کرنا curl
کے ساتھ حکم --libcurl
آپشن C سورس کوڈ حاصل کر سکتا ہے۔ عام صارفین کے لیے اس کا کوئی خاص فائدہ نہیں ہے لیکن یہ سسٹم پروگرامرز، سیکیورٹی تجزیہ کاروں اور ایپلیکیشن ڈیولپرز کے لیے بہت مددگار ثابت ہو سکتا ہے۔
نحو:
curl [URL] > filename --libcurl [code_filename]
مثال:
اس مثال میں، میں نے URL کا مواد حاصل کیا ہے۔ allthings.how اور اسے نام کی فائل میں محفوظ کر لیا۔ gy_ath.html. سی سورس کوڈ کو الگ سے میں محفوظ کیا جاتا ہے۔ source.c فائل
curl //www.allthings.how > gy_ath.html --libcurl source.c
آؤٹ پٹ:
gaurav@ubuntu:~/workspace$ curl //www.allthings.how > gy_ath.html --libcurl source.c % کل % موصول ہوا % Xferd اوسط رفتار وقت ٹائم کرنٹ ڈاؤن لوڈ اپ لوڈ کل خرچ شدہ بائیں رفتار 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 gaurav@ubuntu:~/workspace$
آئیے اب ڈاؤن لوڈ کی گئی فائلوں کو چیک کرتے ہیں۔
gaurav@ubuntu:~/workspace$ ls -al کل 404 drwxrwxr-x 3 gaurav gaurav 4096 ستمبر 16 17:08 ۔ drwxr-xr-x 87 gaurav gaurav 266240 Sep 16 10:22 .. -rw-r--r-- 1 gaurav gaurav 0 Sep 16 17:13 gy_ath.html -rw-r--r-- 1 gaurav gaurav 153 16 ستمبر 17:13 source.c gaurav@ubuntu:~/workspace$
دی source.c فائل سورس کوڈ پر مشتمل ہے۔ یہ استعمال کرتے ہوئے ٹرمینل پر دکھایا جا سکتا ہے کیٹ
کمانڈ. میں نے نیچے دیئے گئے بلاک میں آؤٹ پٹ سے کچھ لائنیں ڈالی ہیں۔
C sourcegaurav@ubuntu:~/workspace$ cat source.c /********* curl کمانڈ لائن ٹول کے ذریعہ تیار کردہ نمونہ کوڈ *********** * تمام curl_easy_setopt() اختیارات دستاویزی ہیں۔ پر: * //curl.haxx.se/libcurl/c/curl_easy_setopt.html ******************************** ******************************************/ #Include int main(int argc, char *argv[]) { CURLcode ret; CURL *hnd; hnd = curl_easy_init ()؛ curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L)؛ curl_easy_setopt(hnd, CURLOPT_URL, "//www.allthings.how")؛ curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.58.0")؛ curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L)؛
یو آر ایل تک رسائی کے لیے CURL میں پراکسی کا استعمال کرنا
جیسا کہ تعارف میں بحث کی گئی ہے۔ curl
کمانڈ ایف ٹی پی، ایس ایم ٹی پی، ایچ ٹی ٹی پی ایس، ساکس وغیرہ جیسے پروٹوکول کی ایک وسیع رینج کو سپورٹ کرتی ہے۔ بعض اوقات فائلوں کی منتقلی کے لیے پراکسی سرور کا استعمال اہم ہو جاتا ہے جب آپ اپنی منتقلی کی رفتار کو بڑھانا چاہتے ہیں اور اپنی شناخت کی حفاظت بھی کرنا چاہتے ہیں۔ curl
کمانڈ کو آسانی سے پراکسی سرور پر فائلوں کو شامل کرنے کے لیے استعمال کیا جا سکتا ہے۔ -ایکس
اس کا اختیار.
مثال:
curl -x [proxy_address]:[port] [URL]
مندرجہ بالا مثال میں، میں نے فرض کیا ہے کہ آپ کی پراکسی کو کسی تصدیق کی ضرورت نہیں ہے۔ اگر پراکسی کو منتقلی شروع کرنے کے لیے تصدیق کی ضرورت ہو، تو آپ درج ذیل کمانڈ استعمال کر سکتے ہیں۔
curl -u [username]:[password] -x [proxy_address]:[port] [URL]
اس آسان طریقے کو استعمال کرتے ہوئے، ہم آپشن کے ساتھ پراکسی سرور کے ذریعے فائلیں منتقل کر سکتے ہیں۔ -ایکس
کے ساتھ استعمال کیا جاتا ہے curl
کمانڈ.
نتیجہ
اس مختصر ٹیوٹوریل میں، ہم نے سیکھا کہ کیسے curl
کمانڈ آپ کے ٹرمینل سے براہ راست مواد ڈاؤن لوڈ کرنے میں مددگار ثابت ہوتی ہے۔ ہم نے مختلف کاموں کے لیے اس کمانڈ کے ساتھ دستیاب مختلف اختیارات کے بارے میں بھی سیکھا۔