Differences

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

Link to this comparison view

rl:labs:09:contents:04 [2013/08/24 13:35]
127.0.0.1 external edit
rl:labs:09:contents:04 [2024/12/04 17:52] (current)
laura.ruse [04. [15p] Descărcare recursivă de resurse web]
Line 1: Line 1:
-==== 04. Lorem ipsum ====+==== 04. [15p] Descărcare recursivă de resurse web ====
  
-...+La adresa ''​%%http://​red/​folder%%''​ se află o structură de directoare și fișierePe stația ''​host'',​ descărcați întreaga structură folosind o singură comandă ''​wget''​ cu parametrul corespunzător.
  
 +<note tip>
 +Pentru a identifica opțiunea corespunzătoare,​ căutați în pagina de manual a ''​wget''​ după șirul ''​recursive''​.
 +</​note>​
  
 +Folosiți utilitarul ''​tree''​ pentru a lista conținutul directorului descărcat. Este posibil ca pachetul ''​tree''​ să fie deja instalat pe ''​host''​. Dacă nu este instalat, atunci puteți folosi următoarea comandă pentru a-l instala:
 +<code bash>
 +root@host:​~#​ apt-get install tree
 +</​code>​
 +
 +Când rulați ''​tree''​ pe directorul 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 rulăm ''​tree'':<​code bash>
 +root@host:​~#​ wget -r http://​red/​folder/​
 +[...]
 +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.1377340500.txt.gz · Last modified: 2013/11/17 10:43 (external edit)
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