10 wget ბრძანების მაგალითები დაგეხმარებათ პრობლემების მოგვარებაში

Sysadmin- ის მიერ ხშირად გამოყენებული კომუნალური პროგრამა არის wget. ეს შეიძლება ძალზე მოსახერხებელი იყოს ვებთან დაკავშირებული პრობლემების მოგვარების დროს.


რა არის wget ბრძანება?

wget ბრძანება პოპულარულია Unix / Linux– ის ბრძანების ხაზის პროგრამა, რომელიც შეიცავს შინაარსს ინტერნეტში. უფასოა მისი გამოყენება და უზრუნველყოფს ინტერაქტიული საშუალებას, ფაილების ინტერნეტიდან გადმოტვირთვისთვის. Wget ბრძანება მხარს უჭერს HTTPS, HTTP და FTP ოქმებს ყუთში. უფრო მეტიც, თქვენ ასევე შეგიძლიათ გამოიყენოთ HTTP მარიონეტები მასთან.

როგორ დაგეხმარებათ პრობლემების მოგვარებაში?

მრავალი გზა არსებობს.

როგორც sysadmin, ყველაზე მეტად თქვენ მუშაობთ ტერმინალზე და ვებ – პროგრამასთან დაკავშირებული პრობლემების გადასაჭრელად, შეიძლება არ გინდოდეს მთელი გვერდის შემოწმება, არამედ მხოლოდ კავშირი. ან, გსურთ გადაამოწმოთ ინტრანეტის ვებსაიტები. ან, გსურთ ჩამოტვირთოთ გარკვეული გვერდი შინაარსის გადამოწმებისთვის.

wget არის არა ინტერაქტიული, რაც იმას ნიშნავს, რომ შეგიძლიათ მისი ფონზე გაშვება მაშინაც კი, როდესაც გარიყული ხართ. შეიძლება არსებობდეს მრავალი შემთხვევა, როდესაც აუცილებელია სისტემისგან გათიშვა, თუნდაც ფაილის მოძიება ინტერნეტით. იმ ფონზე, wget აწარმოებს და დაასრულებს დავალებულ სამუშაოს.

მისი გამოყენება ასევე შეგიძლიათ ადგილობრივ აპარატებზე მთელი ვებსაიტის მისაღებად. მას შეუძლია დაიცვას ბმულები XHTML და HTML გვერდები ადგილობრივი ვერსიის შესაქმნელად. ამისათვის მან უნდა ჩამოტვირთოთ გვერდი რეკურსიულად. ეს ძალიან სასარგებლოა, რადგან თქვენ შეგიძლიათ გამოიყენოთ ის მნიშვნელოვანი გვერდების ან საიტების გასაკეთებლად, ხაზგარეშე ნახვისთვის.

მოდით ვნახოთ ისინი მოქმედებაში. Wget– ის სინტაქსი ისეთივეა, როგორც ქვემოთ.

wget [ვარიანტი] [URL]

ჩამოტვირთეთ ვებ – გვერდი

მოდით ვცდილობთ გვერდზე გადმოვწეროთ. მაგ .: github.com

wget github.com

თუ კავშირი კარგად არის, მაშინ იგი გადმოწერს მთავარ გვერდზე და აჩვენებს გამომავალს, როგორც ქვემოთ.

[ელ.ფოსტა დაცულია]: ~ # wget github.com
URL გადაკეთდა HTTPS- ში HSTS პოლიტიკის გამო
–2020-02-23 10: 45: 52– https://github.com/
მოგვარება github.com (github.com) … 140.82.118.3
დაკავშირება github.com (github.com) | 140.82.118.3 |: 443 … დაკავშირებული.
HTTP მოთხოვნა გაგზავნილია, პასუხის მოლოდინში … 200 კარგი
სიგრძე: დაუზუსტებელი [text / html]
შენახვა: “index.html”

index.html [ <=> ] 131.96K –.- კბ / წმ 0.04-ში

2020-02-23 10:45:52 (2.89 MB / s) – ‘index.html ‘შენახული [135126]

[ელ.ფოსტა დაცულია]: ~ #

ჩამოტვირთეთ მრავალი ფაილი

მოსახერხებელია, როდესაც ერთდროულად უნდა ჩამოტვირთოთ მრავალი ფაილი. ეს შეიძლება მოგცეთ იდეა ზოგიერთი სკრიპტის საშუალებით გადმოტვირთვის ფაილების ავტომატიზაციის შესახებ.

შევეცადოთ ჩამოტვირთოთ Python 3.8.1 და 3.5.1 ფაილები.

wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz https://www.python.org/ftp/python/3.5.1/Python-3.5.1. tgz

ასე რომ, როგორც მოგეხსენებათ, სინტაქსი ისეთივეა, როგორც ქვემოთ.

wget URL1 URL2 URL3

თქვენ უბრალოდ უნდა უზრუნველყოთ მისამართებს შორის ადგილის მიცემა.

ჩამოტვირთვის სიჩქარე შეზღუდეთ

ეს გამოსადეგი იქნება, როდესაც გსურთ შეამოწმოთ რამდენი დრო სჭირდება თქვენი ფაილის ჩამოტვირთვა სხვადასხვა სიჩქარეს.

–Limit- განაკვეთის პარამეტრის გამოყენებით, შეგიძლიათ შეზღუდოთ გადმოტვირთვის სიჩქარე.

აქ მოცემულია Nodejs ფაილის ჩამოტვირთვის შედეგი.

[ელ.ფოსტა დაცულია]: ~ # wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
–2020-02-23 10: 59: 58– https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
გადასაწყვეტია nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
დაკავშირება nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … დაკავშირებულია.
HTTP მოთხოვნა გაგზავნილია, პასუხის მოლოდინში … 200 კარგი
სიგრძე: 14591852 (14M) [განცხადება / x-xz]
შენახვა ხდება: ‘კვანძი-v12.16.1-linux-x64.tar.xz ‘

კვანძი-v12.16.1-linux-x64.tar.xz 100% [==================================== =========================================================== =======>] 13.92M –.- კბ / წმ 0.05 ს-ში

2020-02-23 10:59:58 (272 MB / s) – ‘კვანძი-v12.16.1-linux-x64.tar.xz ‘შენახული [14591852/14591852]

13.92 MB ფაილების გადმოტვირთვას 0.05 წამი დასჭირდა. ახლა, შევეცადოთ სიჩქარე 500K- ს შევზღუდოთ.

[ელ.ფოსტა დაცულია]: ~ # wget –limit-rate = 500k https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
–2020-02-23 11: 00: 18– https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
გადასაწყვეტია nodejs.org (nodejs.org) … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
დაკავშირება nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … დაკავშირებულია.
HTTP მოთხოვნა გაგზავნილია, პასუხის მოლოდინში … 200 კარგი
სიგრძე: 14591852 (14M) [განცხადება / x-xz]
შენახვა ხდება: ‘კვანძი-v12.16.1-linux-x64.tar.xz.1 ‘

კვანძი-v12.16.1-linux-x64.tar.xz.1 100% [================================== ================================================== =========>] 13.92M 501KB / წმ 28-ში

2020-02-23 11:00:46 (500 KB / წ) – ‘კვანძი-v12.16.1-linux-x64.tar.xz.1 ‘შენახული [14591852/14591852]

სიჩქარის შემცირებას გადმოტვირთვის დრო დასჭირდა – 28 წამი. წარმოიდგინეთ, თქვენი მომხმარებლები ჩივიან ნელი გადმოტვირთვის შესახებ და იცით, რომ მათი ქსელის გამტარობა დაბალია. თქვენ შეგიძლიათ სწრაფად სცადოთ – განაკვეთის სიმულაციისთვის, სიჩქარის შეზღუდვით.

ჩამოტვირთვა ფონზე

დიდი ფაილების ჩამოტვირთვის დროს შეუძლია ან ზემოთ მოყვანილი მაგალითის აღება, სადაც გსურთ განაკვეთის ლიმიტის დაწესებაც. ეს მოსალოდნელია, მაგრამ რა მოხდება, თუ არ გინდა შენი ტერმინალის ნახვა?

ფონზე ვიჯეტის დასაწყებად შეგიძლიათ გამოიყენოთ -b არგუმენტი.

[ელ.ფოსტა დაცულია]: ~ # wget -b https://slack.com
გრძელდება ფონზე, პიდი 25430.
გამომავალი იქნება დაწერილი “wget-log.1”.
[ელ.ფოსტა დაცულია]: ~ #

უგულებელყოფა სერთიფიკატის შეცდომა

ეს მოსახერხებელია, როდესაც საჭიროა შეამოწმოთ ინტრანეტის ვებ – პროგრამები, რომლებსაც არ აქვთ შესაბამისი სერთიფიკატი. სტანდარტულად, wget გადააგდებს შეცდომას, როდესაც სერთიფიკატი არ არის მართებული.

[ელ.ფოსტა დაცულია]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
ამოიწურა ამოიწურა.badssl.com (ამოიწურა.badssl.com) … 104.154.89.105
დაკავშირებულია expired.badssl.com (expired.badssl.com) | 104.154.89.105 |: 443 … დაკავშირებული.
შეცდომა: ვერ ამოწმებთ ამოიწურა.badssl.com– ის სერთიფიკატი, გაცემულია ‘CN = COMODO RSA დომენის ვალიდაციის უსაფრთხო სერვერი CA, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB’:
გაცემული სერთიფიკატი ამოიწურა.
დააკავშირეთ expired.badssl.com დაუცველად, გამოიყენეთ `- არამოწმებელი – სერთიფიკატი».

ზემოხსენებული მაგალითია URL– სთვის, სადაც სერტიფიკატის ვადა ამოიწურა. როგორც ხედავთ, ის შემოთავაზებულია – არარის შემოწმების სერტიფიკატის გამოყენებით, რომელიც უგულებელყოფს ნებისმიერ სერტიფიკატს.

[ელ.ფოსტა დაცულია]: ~ # wget https://untrusted-root.badssl.com/ – არა-გამშვები-სერთიფიკატი
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
არასანდო-root.badssl.com (untrusted-root.badssl.com) მოგვარება … 104.154.89.105
დაკავშირება untrusted-root.badssl.com (untrusted-root.badssl.com) | 104.154.89.105 |: 443 … დაკავშირებული.
გაფრთხილება: ვერ დაადასტუროთ არასანდო-root.badssl.com– ს სერთიფიკატი, გაცემული მიერ ‘CN = BadSSL უნაყოფო Root სერტიფიკატის ავტორი, O = BadSSL, L = სან-ფრანცისკო, ST = კალიფორნია, C = აშშ’:
თვითმოწერილი სერთიფიკატი გვხვდება.
HTTP მოთხოვნა გაგზავნილია, პასუხის მოლოდინში … 200 კარგი
სიგრძე: 600 [text / html]
შენახვა ხდება: ‘index.html.6 ‘

index.html.6 100% [=========================================== ===========================================================>] 600 –.- კბ / წმ 0-იან წლებში

2020-02-23 11:33:45 (122 MB / s) – ‘index.html.6 ‘შენახული [600/600]

[ელ.ფოსტა დაცულია]: ~ #

მაგარია, ასე არ არის?

HTTP პასუხის სათაური

იხილეთ მოცემული საიტის HTTP პასუხის სათაური ტერმინალზე.

–S– ის გამოყენებით დაბეჭდავთ სათაურს, როგორც ქვემოთ მოცემულია კურსი.

[ელ.ფოსტა დაცულია]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
მოგვარება www.coursera.org (www.coursera.org) … 13.224.241.48, 13.224.241.124, 13.224.241.82, …
დაკავშირება www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … დაკავშირებული.
HTTP მოთხოვნა გაგზავნილია, პასუხის მოლოდინში…
HTTP / 1.1 200 OK
შინაარსის ტიპი: text / html
შინაარსი-სიგრძე: 511551
კავშირი: შენარჩუნება
ქეში-კონტროლი: კერძო, არა-ქეში, არასამთავრობო მაღაზია, უნდა განახლდეს, მაქსიმალური ასაკი = 0
თარიღი: მზე, 2020 წლის 23 თებერვალი 11:47:01 GMT
etag: W /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
სერვერი: დესპანი
Set-Cookie: CSRF3-Token = 1583322421.s1b4QL6OXSUGHnRI; მაქს-ასაკი = 864000; იწურება = ოთხშაბათი, 04 მარტი 2020 11:47:02 GMT; ბილიკი = /; დომენი = .coursera.org
Set-Cookie: __204u = 9205355775-1582458421174; მაქს-ასაკი = 31536000; იწურება = ორშაბათი, 22 თებერვალი 2021 11:47:02 GMT; ბილიკი = /; დომენი = .coursera.org
მკაცრი-ტრანსპორტი-უსაფრთხოება: მაქსიმალური ასაკი = 31536000; მოიცავსSubDomains; გადატვირთვა
X- შინაარსის ტიპის პარამეტრები: nosniff
x- კურსა – რეფერენდული რეჟიმი: html
x- კურსა-გაწევა-ვერსია: v2
X-Coursera-Request-Id: NCnPPlYyEeqfcxIHPk5Gqw
X-Coursera-Trace-Id-Hex: a5ef7028d77ae8f8
x- დესპანი-ზევით-სამსახურის დრო: 1090
X- ჩარჩო პარამეტრები: SAMEORIGIN
x- იკვებება: Express
X-XSS- დაცვა: 1; რეჟიმი = ბლოკი
X-Cache: გამოტოვებულია ღრუბლისგან
ვია: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR62-C3
X-Amz-Cf-Id: vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
სიგრძე: 511551 (500K) [text / html]

მომხმარებლის აგენტის მანიპულირება

შეიძლება შეიქმნას სიტუაცია, როდესაც გსურთ საიტის დაკავშირება მომხმარებლის მომხმარებელთა აგენტის გამოყენებით. ან კონკრეტული ბრაუზერის მომხმარებლის აგენტის. ამის გაკეთება შესაძლებელია – შემსრულებლის აგენტის მითითებით. ქვემოთ მოცემულია მაგალითი მომხმარებლის აგენტისთვის, როგორც MyCustomUserAgent.

[ელ.ფოსტა დაცულია]: ~ # wget https://gf.dev –user-აგენტი ="MyCustomUserAgent"

მასპინძელი თავსართი

როდესაც პროგრამა ჯერ კიდევ შემუშავებულია, შეიძლება არ გქონდეთ შესაბამისი URL, რომ გამოსცადოთ. ან, შეიძლება გინდოთ ინდივიდუალური HTTP მაგალითის ტესტირება IP გამოყენებით, მაგრამ თქვენ გჭირდებათ მიაწოდოთ მასპინძელი თავსართი, რომ სწორად იმუშაოს. ამ სიტუაციაში, – ხელმძღვანელი სასარგებლო იქნებოდა.

მოდით განვიხილოთ ტესტირების მაგალითი http://10.10.10.1, მასპინძელ თავთან, როგორც app.com

wget – header ="მასპინძელი: application.com" http://10.10.10.1

არა მხოლოდ მასპინძელი, არამედ შეგიძლიათ გაუკეთოთ თქვენთვის სასურველი ნებისმიერი სათაური.

დაკავშირება Proxy გამოყენებით

თუ DMZ გარემოზე მუშაობთ, შეიძლება არ გქონდეთ წვდომა ინტერნეტ საიტებზე. მაგრამ თქვენ შეგიძლიათ ისარგებლოთ მარიონეტული საშუალებით.

wget -e use_proxy = დიახ http_proxy = $ PROXYHOST: PORT http://externalsite.com

ნუ დაივიწყებთ $ PROXYHOST- ის განახლებას: PORT ცვლადი ნამდვილთან.

შეაერთეთ კონკრეტული TLS პროტოკოლის გამოყენებით

ჩვეულებრივ, გირჩევთ OpenSSL- ს გამოყენებას TLS პროტოკოლის შესამოწმებლად. თქვენ შეგიძლიათ გამოიყენოთ wgetც.

wget – უსაფრთხო-პროტოკოლი = TLSv1_2 https://example.com

ზემოაღნიშნული აიძულებს wget დაკავშირებას TLS 1.2-ზე.

დასკვნა

საჭირო ბრძანების ცოდნა დაგეხმარებათ სამსახურში. იმედი მაქვს, რომ ზემოთ მოცემულია იდეა იმის შესახებ, თუ რა შეგიძლიათ wget.

ტეგები:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map