Programmazione
Lunedì 24 aprile 2017
Spesso capita, per svariate ragioni di dover scaricare una pagina dal web tramite console o tramite cron.

Il problema che spesso ci si trova ad affrontare è l'output generato dai comandi più utilizzati, vale a dire wget e curl.

Per superare il problema ed evitare di ingigantire il file mail, è possibile utilizzare, per ciascuno dei due comandi, un parametro che inibisce la produzione dell'output.



Per ciascuno dei due comandi è possibile utilizzare anche una versione più corta del nome opzione., ma il mio consiglio è quello di utilizzare la loro versione estesa per semplificare il lavoro a voi e a chi dovrà mettere mani sul codice dopo di voi.

Ho anche aggiunto un paio di metodi per poter effettuare lo stesso con PHP. So che non è inerente con il titolo ma è sempre una risorsa utile.


Wget
Il parametro da utilizzare per wget è

--quiet



In questo caso il comando diventa

wget –quiet –output-document nome_file http://www.sitoweb.it



Fate attenzione, quanto utlizzate wget con url che hanno il carattere "&" in quanto potrebbe confondersi. Ricordatevi quindi, a seconda dell'ambiente in cui lo utilizerete, di aggiungere un singolo o un doppio apice all'inizio e a la fine dell'url per delimitarlo corettamente.

Curl
E' possibile lanciare il comando curl con l'opzione

--silent



In questo modo il comando diventa

curl –silent –output nome_file http://www.sitoweb.it

PHP
Se state lanciado uno script php potete utilizzare il comando

file_get_contents( "http://risorsaweb" );



Questo comando è molto potente e, passando una qualsiasi risorsa web come argomento, è possibile scaricarne il contenuto in una variabile.

Unico problema:occorre verificare che il peso della risorsa scaricata non sia superiore alla memoria dedicata allo script.

In questo caso si può ricorrere al buon vecchio fread.

Commenti