[Undefined] Script che si collega a un sito e stampa a video dei risultati.

Salve a tutti,

forse questo argomento è già stato in un certo modo affrontato ma...

..pongo la domanda e la pongo in modo semplice così:

Può uno script php collegarsi ad un sito web (A) e stampare a video su una pagina di un altro sito (B), ad esempio, tutti i link presenti in esso? Oppure anche, sempre ad esempio, determinate parole?

Grazie a tutti.

inviato 5 anni fa
wartpro
X 0 X

La risposta che cerchi è: Sì (supponendo che tu sia il sito B).

Le funzioni di php che puoi utilizzare per fare questo genere di cose sono le funzioni di rete come fsockopen o Zend_Http_Client, se usi lo Zend Framework, oppure curl, se l'estensione cURL è installata.

Zend_Http_Client pagina del manuale dello Zend Framework

Introduzione a cURL sul manuale ufficiale di PHP

fsockopen guida di riferimento della funzione sul manuale ufficiale di PHP

risposto 5 anni fa
Andrea Turso
Andrea Turso
86
modificato 5 anni fa
X 0 X

Grazie mille trash!

La risposta è si, io sarei il sito B.

Qualcuno mi ha consigliato anche la funzione file_get_contents(). Che ne pensi?

risposto 5 anni fa
wartpro
X 0 X

Può andar bene, infatti pensavo di suggerirtela ma se non ricordo male su alcune configurazioni potrebbe essere limitata dalla direttiva che blocca l'inclusione di file remoti.

Tom.

risposto 5 anni fa
Andrea Turso
Andrea Turso
86
modificato 5 anni fa
X 0 X

Ecco bene, questo non lo sapevo ancora ed è un'informazione che mi può essere utile :)

Grazie!

risposto 5 anni fa
wartpro
X 0 X

Infatti ho controllato sul manuale di PHP, che dice:

A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename. See the Supported Protocols and Wrappers for links to information about what abilities the various wrappers have, notes on their usage, and information on any predefined variables they may provide.

quindi se vuoi utilizzare qualcosa del tipo $content = file_get_contents('http://example.com/'); devi assicurarti che sul php.ini del server di sito B sia stato attivato allow_url_fopen

Tom.

risposto 5 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Non potevi essere più chiaro  :P

Grazie infinite! Dai un'occhiata al mio ultimo post!  ^-^

risposto 5 anni fa
wartpro
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda