Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rl:labs:09:contents:04 [2013/11/17 10:43]
mihai.carabas [04. Lorem ipsum]
rl:labs:09:contents:04 [2023/11/05 13:08] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 04. Tutorial port forwarding (DNAT) ​====+==== 04. [15p] Descărcare recursivă de resurse web ====
  
-  * tutorial + exercițiu +La adresa ''​%%http://​red/​folder%%''​ se află o structură ​de directoare și fișiere. Pe stația ''​host'',​ descărcați întreaga structura folosind o singură comandă ''​wget''​ cu parametrul corespunzător.
-    * tutorial pentru DNAT SSH pe red +
-    * testat ​de pe sistemul fizic+
  
 +<note tip>
 +Pentru a identifica opțiunea corespunzătoare,​ căutați în pagina de manual a ''​wget''​ după șirul ''​recursive''​.
 +</​note>​
  
 +Instalați utilitarul ''​tree''​ și folosiți-l petru a lista conținutul directorului descărcat. Observați prezența mai multor fișiere cu nume de forma ''​index.html?​C=S;​O=D''​. Aceste fișiere sunt fișiere de tip directory listing generate de serverul web și nu avem nevoie de ele. Ștergeți structura de directoare pe care tocmai ați descărcat-o pe stația ''​host''​ și descărcați-o din nou ignorând aceste fișiere.
 +
 +<note tip>
 +Urmăriți discuția de [[http://​stackoverflow.com/​questions/​273743/​using-wget-to-recursively-fetch-a-directory-with-arbitrary-files-in-it|aici]]. Să aveți în vedere și partea din discuția care conține șirul //​%%"​without the hostname"​%%//​.
 +</​note>​
 +
 +Structura de directoare trebuie să fie similară cu:<​code>​
 +root@host:​~#​ tree folder/
 +folder/
 +├── embedded
 +│   ├── Qualcomm
 +│   │   ├── Krait
 +│   │   │   └── info.txt
 +│   │   └── Scorpion
 +│   │   ​    ​└── info.txt
 +│   └── TI
 +│   ​    ​├── OMAP3
 +│   ​    ​│   └── info.txt
 +│   ​    ​└── OMAP4
 +│   ​        ​└── info.txt
 +└── mobile
 +    ├── Apple
 +    │   ├── iPadAir
 +    │   │   └── info.txt
 +    │   └── iPhone5S
 +    │   ​    ​└── info.txt
 +    └── Google
 +        ├── Nexus4
 +        │   └── info.txt
 +        └── Nexus7
 +            └── info.txt
 +
 +14 directories,​ 8 files
 +</​code>​
 +
 +<​hidden>​
 +<​solution>​
 +Pentru descărcarea inițială folosim comanda ''​wget''​ cu opțiunea ''​-r''​ apoi instalăm și rulăm ''​tree'':<​code bash>
 +root@host:​~#​ wget -r http://​red/​folder/​
 +[...]
 +root@host:​~#​ apt-get install tree
 +[...]
 +root@host:​~#​ tree red/
 +[...]
 +</​code>​
 +Ștergem vechea structură:<​code bash>
 +root@host:​~#​ rm -fr folder/
 +</​code>​
 +Ca să avem un output mai aranjat, rulăm următoarea comandă ''​wget'':<​code bash>
 +root@host:​~#​ wget -r -nH -np --reject "​index.html*"​ http://​red/​folder/​
 +</​code>​
 +Se vor descărca astfel doar fișierele utile, cele existente în structura de directoare de pe server.
 +</​solution>​
 +</​hidden>​
rl/labs/09/contents/04.1384677823.txt.gz · Last modified: 2013/11/17 10:43 by mihai.carabas
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0