10 wget-opdragvoorbeelde om u te help met die oplos van probleme

Een van die gereeld gebruikte hulpprogramme deur sysadmin is wget. Dit kan baie handig wees tydens webverwante probleemoplossing.


Wat is wget-opdrag?

wget-opdrag is ‘n gewilde Unix / Linux-opdraglynhulpmiddel om die inhoud van die web af te haal. Dit is gratis om te gebruik en bied ‘n nie-interaktiewe manier om lêers van die web af te laai. Die wget-opdrag ondersteun HTTPS-, HTTP- en FTP-protokolle buite die kassie. Boonop kan u ook HTTP-gevolmagtigdes daarmee gebruik.

Hoe dit u help om probleme op te los?

Daar is baie maniere.

As ‘n stelseladministrateur werk u meestal aan ‘n terminal, en as u probleme met webtoepassingsprobleme oplos, wil u moontlik nie die hele bladsy kyk nie, maar net die konneksie. Of u wil intranetwebwerwe verifieer. Of u wil ‘n sekere bladsy aflaai om die inhoud te verifieer.

wget is nie-interaktief, wat beteken dat u dit op die agtergrond kan voer, selfs as u afgemeld is. Daar kan baie gevalle wees waar u van die stelsel moet ontkoppel, selfs as u die lêer herwin vanaf die web. Op die agtergrond sal die wget hul aangewese taak uitvoer en voltooi.

Dit kan ook gebruik word om die hele webwerf op u plaaslike masjiene te kry. Dit kan die skakels in volg XHTML en HTML bladsye om ‘n plaaslike weergawe te skep. Om dit te kan doen, moet dit die bladsy rekursief aflaai. Dit is baie handig, aangesien u dit kan gebruik om belangrike bladsye of webwerwe af te laai om vanlyn te kyk.

Laat ons hulle in aksie sien. Die sintaksis van die wget is soos hieronder.

wget [opsie] [URL]

Laai ‘n webblad af

Probeer om ‘n bladsy af te laai. Bv: github.com

wget github.com

As konnektiwiteit goed is, sal dit die tuisblad aflaai en die uitset soos hieronder wys.

[Email protected]: ~ # wget github.com
URL is getransformeer na HTTPS as gevolg van ‘n HSTS-beleid
–2020-02-23 10: 45: 52– https://github.com/
Los github.com (github.com) op … 140.82.118.3
Koppel aan github.com (github.com) | 140.82.118.3 |: 443 … gekoppel.
HTTP-versoek gestuur, afgewag op antwoord … 200 OK
Lengte: ongespesifiseer [teks / html]
Stoor na: ‘index.html’

index.html [ <=> ] 131,96K –.- KB / s in 0,04 s

2020-02-23 10:45:52 (2,89 MB / s) – ‘index.html’ gestoor [135126]

[Email protected]: ~ #

Laai verskeie lêers af

Handig as u verskeie lêers tegelyk moet aflaai. Dit kan u ‘n idee gee van die outomatisering van lêers wat deur middel van enkele skrifte afgelaai word.

Probeer om Python 3.8.1 en 3.5.1 lêers af te laai.

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

Dus, soos u kan raai, is die sintaksis soos hieronder.

wget URL1 URL2 URL3

U moet net seker maak dat u ‘n ruimte tussen URL’s gee.

Beperk aflaai spoed

Dit sal nuttig wees as u wil kyk hoeveel tyd dit benodig om die lêer teen verskillende bandwydtes af te laai.

Met die opsie – limiet-koers, kan u die snelheid van die aflaai beperk.

Hier is die uitvoer van die aflaai van die Nodejs-lêer.

[Email protected]: ~ # 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
Los nodejs.org (nodejs.org) op … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Koppel aan nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … gekoppel.
HTTP-versoek gestuur, afgewag op antwoord … 200 OK
Lengte: 14591852 (14M) [toepassing / x-xz]
Stoor na: ‘node-v12.16.1-linux-x64.tar.xz’

node-v12.16.1-linux-x64.tar.xz 100% [================================== ================================================== =======>] 13,92M –.- KB / s in 0,05 s

2020-02-23 10:59:58 (272 MB / s) – ‘node-v12.16.1-linux-x64.tar.xz’ gestoor [14591852/14591852]

Dit het 0,05 sekondes geneem om 13,92 MB lêers af te laai. Laat ons probeer om die snelheid tot 500K te beperk.

[Email protected]: ~ # 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
Los nodejs.org (nodejs.org) op … 104.20.23.46, 104.20.22.46, 2606: 4700: 10 :: 6814: 162e, …
Koppel aan nodejs.org (nodejs.org) | 104.20.23.46 |: 443 … gekoppel.
HTTP-versoek gestuur, afgewag op antwoord … 200 OK
Lengte: 14591852 (14M) [toepassing / x-xz]
Stoor na: ‘node-v12.16.1-linux-x64.tar.xz.1’

node-v12.16.1-linux-x64.tar.xz.1 100% [================================ ================================================== =========>] 13,92M 501 KB / s in 28 s

2020-02-23 11:00:46 (500 KB / s) – ‘node-v12.16.1-linux-x64.tar.xz.1’ gestoor [14591852/14591852]

Dit het langer geneem om die bandwydte te verminder – 28 sekondes. Stel jou voor, jou gebruikers kla oor die stadige aflaai, en jy weet dat die bandwydte van hul netwerk laag is. U kan vinnig probeer om die probleem te simuleer.

Laai in die agtergrond af

Die aflaai van groot lêers kan die tyd neem of bogenoemde voorbeeld, waar u ook die tarieflimiet wil instel. Dit word verwag, maar wat as u nie na u terminale wil staar nie?

Wel, u kan -b-argument gebruik om die wget op die agtergrond te begin.

[Email protected]: ~ # wget -b https://slack.com
Voortgaan in die agtergrond, pid 25430.
Uitset sal na ‘wget-log.1’ geskryf word..
[Email protected]: ~ #

Ignoreer sertifikaatfout

Dit is handig as u intranet-webtoepassings moet kontroleer wat nie die regte sertifikaat het nie. Wget sal standaard ‘n fout gooi as ‘n sertifikaat nie geldig is nie.

[Email protected]: ~ # wget https://expired.badssl.com/
–2020-02-23 11: 24: 59– https://expired.badssl.com/
Die oplossing van expired.badssl.com (expired.badssl.com) … 104.154.89.105
Koppel aan expired.badssl.com (expired.badssl.com) | 104.154.89.105 |: 443 … verbind.
FOUT: kan nie die sertifikaat van expired.badssl.com verifieer wat uitgereik is deur ‘CN = COMODO RSA Domain Validation Secure Server CA, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB’:
Die uitgereikte sertifikaat het verval.
Gebruik ‘–no-check-Certificate’ om ‘n veilige verbinding met expired.badssl.com te maak..

Bogenoemde voorbeeld is vir die URL waar sertifikaat verval het. Soos u kan sien, het dit aanbeveel dat u gebruik maak van – geen-check-sertifikaat, wat enige sertifisering sal ignoreer.

[Email protected]: ~ # wget https://untrusted-root.badssl.com/ – geen-check-sertifikaat
–2020-02-23 11: 33: 45– https://untrusted-root.badssl.com/
Los untrusted-root.badssl.com (untrusted-root.badssl.com) … 104.154.89.105
Koppel aan untrusted-root.badssl.com (untrusted-root.badssl.com) | 104.154.89.105 |: 443 … verbind.
WAARSKUWING: kan nie die sertifikaat van untrusted-root.badssl.com verifieer nie, uitgereik deur ‘CN = BadSSL Untrusted Root Certificate Authority, O = BadSSL, L = San Francisco, ST = California, C = US’:
Selfondertekende sertifikaat teëgekom.
HTTP-versoek gestuur, afgewag op antwoord … 200 OK
Lengte: 600 [teks / html]
Stoor na: ‘index.html.6’

index.html.6 100% [========================================== =================================================>] 600 –.- KB / s in 0s

2020-02-23 11:33:45 (122 MB / s) – ‘index.html.6’ gestoor [600/600]

[Email protected]: ~ #

Cool, is dit nie?

HTTP-antwoordkop

Kyk op die HTTP-reaksieopskrif van ‘n gegewe webwerf op die terminale.

Die gebruik van -S druk die kop, soos u hieronder kan sien Coursera.

[Email protected]: ~ # wget https://www.coursera.org -S
–2020-02-23 11: 47: 01– https://www.coursera.org/
Besluit www.coursera.org (www.coursera.org) … 13.224.241.48, 13.224.241.124, 13.224.241.82, …
Koppel aan www.coursera.org (www.coursera.org) | 13.224.241.48 |: 443 … verbind.
HTTP-versoek gestuur, wag op antwoord…
HTTP / 1.1 200 OK
Inhoudstipe: teks / html
Inhoud-lengte: 511551
Verbinding: bly leef
Cache-beheer: privaat, geen-kas, geen winkel, moet herwaardeer, maksimum ouderdom = 0
Datum: Sun, 23 Feb 2020 11:47:01 GMT
etag: W /"7156d-WcZHnHFl4b4aDOL4ZSrXP0iBX3o"
Bediener: gesant
Stel-koekie: CSRF3-token = 1583322421.s1b4QL6OXSUGHnRI; Max-ouderdom = 864000; Verval = Wo, 04 Mrt 2020 11:47:02 GMT; Pad = /; Domain = .coursera.org
Stel-koekie: __204u = 9205355775-1582458421174; Max-ouderdom = 31536000; Verval = Ma, 22 Feb 2021 11:47:02 GMT; Pad = /; Domain = .coursera.org
Streng-vervoer-sekuriteit: maksimum ouderdom = 31536000; includeSubDomains; voorbelading
X-inhoud-tipe-opsies: nosniff
x-coursera-render-mode: html
x-coursera-render-weergawe: v2
X-Coursera-versoek-ID: NCnPPlYyEeqfcxIHPk5Gqw
X-Coursera-Trace-Id-Hex: a5ef7028d77ae8f8
x-gesant-stroom-af-dienstyd: 1090
X-raamopsies: SAMEORIGIN
x aangedryf deur: Express
X-XSS-beskerming: 1; modus = blok
X-Cache: Juffrou vanaf wolkfront
Via: 1.1 884d101a3faeefd4fb32a5d2a8a076b7.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: LHR62-C3
X-Amz-Cf-Id: vqvX6ZUQgtZAde62t7qjafIAqHXQ8BLAv8UhkPHwyTMpvH617yeIbQ ==
Lengte: 511551 (500K) [text / html]

Manipuleer die gebruiker-agent

Daar kan ‘n situasie wees waar u ‘n webwerf met behulp van ‘n aangepaste gebruiker-agent wil verbind. Of die spesifieke agent se gebruikeragent. Dit kan gedoen word deur die gebruiker-agent te spesifiseer. Die onderstaande voorbeeld is vir die gebruikeragent as MyCustomUserAgent.

[Email protected]: ~ # wget https://gf.dev – gebruiker-agent ="MyCustomUserAgent"

Gasheeropskrif

As ‘n toepassing nog ontwikkel, is dit moontlik dat u nie die regte URL het om dit te toets nie. Of u wil miskien ‘n individuele HTTP-voorkoms met behulp van IP toets, maar u moet die gasheeropskrif voorsien om te kan toepas dat die program korrek werk. In hierdie situasie sou –header nuttig wees.

Kom ons neem ‘n voorbeeld van die toets van http://10.10.10.1 met die gasheerkop as application.com

wget –header ="Gasheer: application.com" http://10.10.10.1

Nie net gasheer nie, maar u kan ‘n kopstuk wat u wil inspuit.

Verbind met Proxy

As u aan ‘n DMZ-omgewing werk, het u moontlik nie toegang tot webwerwe nie. Maar u kan voordeel trek uit die instaanbediener om aan te sluit.

wget -e use_proxy = ja http_proxy = $ PROXYHOST: PORT http://externalsite.com

Moenie vergeet om $ PROXYHOST: PORT-veranderlike met die werklike veranderings op te dateer nie.

Verbind met behulp van ‘n spesifieke TLS-protokol

Gewoonlik sou ek aanbeveel dat u OpenSSL gebruik om die TLS-protokol te toets. Maar u kan ook wget gebruik.

wget –secure-protocol = TLSv1_2 https://example.com

Bogenoemde sal wget dwing om oor TLS 1.2 te koppel.

Afsluiting

Deur die nodige opdrag te ken, kan dit u help. Ek hoop dat bogenoemde u ‘n idee gee van wat u met wget kan doen.

Tags:

  • 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