problema con socket

aleocel

Nuovo Utente
17 Ago 2006
26
0
1
i socket non mi funzionano Su windows ho installato wampserver2 ed ho provato fsockopen, ma mi dà questo errore:

Warning: fsockopen() [function.fsockopen]: unable to connect to http://dizionari.corriere.it/dizion...iano/a.shtml:80 (Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?) in C:\wamp\www\dizionario\scaricaDizionario.php on line 15
Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (32)

Ho provato col decommentare le righe relative ai socket in php.ini, ma l'errore viene fuori lo stesso. Potrei aver sbagliato la porta (80)? Grazie, raga.
 

lotus

Utente Attivo
5 Mag 2009
543
8
0
Potresti cortesemente postare parizlamnete il codice così magari qualcuno ha la possibilità di aiutarti concretamente.

Ciao, Ciro
 

aleocel

Nuovo Utente
17 Ago 2006
26
0
1
questo è il codice

$link='http://dizionari.corriere.it/dizionario_italiano/a.shtml';
$fp = fsockopen ($link, 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: $link\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);

Dopo aver decommentato le righe relative ai socket nel file di configurazione hai riavviato Apache?

si ho riavviato Apache ed anche Iexplorer
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
stai cercando di accedere da locale ad un file in remoto?
 

aleocel

Nuovo Utente
17 Ago 2006
26
0
1
Leva il http:// dalla stringa del link e poi dimmi se hai risolto ;)

Fatto! Tolto hhtp:// funziona, grazie mille. Ora però mi dà questo errore:

HTTP/1.1 400 Bad Request Date: Thu, 02 Sep 2010 14:58:19 GMT Server: Apache Content-Length: 226 Connection: close Content-Type: text/html; charset=iso-8859-1
Bad Request
Your browser sent a request that this server could not understand.

significa che non ho i permessi ? oppure che il time out è troppo basso? volevo solo scaricare il codice html...

stai cercando di accedere da locale ad un file in remoto?

si, volevo scaricare il codice html, appunto. Il server web è in locale, (127.0.0.1 localhost), però sono collegato ad internet, perché? (scusa l'ignoranza)
 
Ultima modifica:

nessuno1

Nuovo Utente
20 Ago 2010
10
0
0
nessuno.gotdns.org
No semplicemente significa che quell'host una richiesta così non la accetta.
Prova a levare la righa Host: $link
fa che la richista sia solo questa: "GET /\n\n\n\n" Prova così.
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
41
Sanremo
Qui più che di PHP parliamo di RFC!!!!

Allora vediamo un attimo:

La richiesta HTTP corretta per scaricare la risorsa:
http://dizionari.corriere.it/dizionario_italiano/a.shtml

è questa:

Codice:
GET /dizionario_italiano/a.shtml HTTP/1.1
Host: dizionari.corriere.it

Usare la versione 1.0 del protocollo HTTP non può funzionare perchè non implementa l'header Host. Senza specificare questo header nella richiesta il web server andrà ad utilizzare la configurazione del suo VirtualHost di default, che in questo caso è diversa da quella relativa a dizionario.corriere.it.
In pratica è come se al posto del dominio usassi l'IP corrispondente
( http://194.20.158.117/dizionario_italiano/a.shtml ).

Ma poi, perchè complicare le cose usando i socket invece di usare:

PHP:
$page = file_get_contents('http://dizionari.corriere.it/dizionario_italiano/a.shtml');
echo $page;
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Trogo, non tutti i server hanno la direttiva allow_url_fopen impostata su on, quindi forse è per questo che ha scelto di usare i socket. Comunque, nel caso fosse abilitata, direi che con file_get_contents sarebbe tutto molto più facile. Puoi controllare se è abilitata vedendo l'output di una pagina PHP con all'interno:
PHP:
<?php
echo ini_get('allow_url_fopen');
?>
Se restituisce on o 1 allora sei a cavallo!
 

aleocel

Nuovo Utente
17 Ago 2006
26
0
1
Qui più che di PHP parliamo di RFC!!!!

Ma poi, perchè complicare le cose usando i socket invece di usare:

PHP:
$page = file_get_contents('http://dizionari.corriere.it/dizionario_italiano/a.shtml');
echo $page;

Scusate, mi era sfuggito, ho il php arrugginito...:crying: GRAZIE.GRAZIE.GRAZIE.
 

aleocel

Nuovo Utente
17 Ago 2006
26
0
1
Peccato però che con i socket sia riuscito a collegarmi, nonostante abbia provato i suggerimenti di nessuno1 e Trogo, ormai era una questione di principio! E COMUNQUE GRAZIE.
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
41
Sanremo
Peccato però che con i socket sia riuscito a collegarmi, nonostante abbia provato i suggerimenti di nessuno1 e Trogo, ormai era una questione di principio! E COMUNQUE GRAZIE.

Giusto poi per completezza, questo codice l'ho testato e funziona:

PHP:
$host = 'dizionari.corriere.it';
$uri = '/dizionario_italiano/a.shtml';
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp) {
	echo "$errstr ($errno)<br>\n";
} else {
	fputs ($fp, "GET $uri HTTP/1.1\r\nHost: $host\r\n\r\n");
	while (!feof($fp)) {
		echo fgets ($fp,128);
	}
	fclose ($fp);
}

Ovviamente, usando i socket e una richiesta a basso livello, quello che ritorna è tutta la risposta, quindi comprensiva di header, e non solo il codice html della pagina.
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18
grgfede Problema javascript con aruba Javascript 1
M Problema con visibility e radio button Javascript 2
Marti1! Problema con casella mail cancellata Posta Elettronica 3
L [PHP] Problema con Telegram PHP 1
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
S Strano problema con i title su Google SEO e Posizionamento 3
P [ASP.Net] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font ASP.NET 4
P [HTML] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font HTML e CSS 1
N [Apache] problema con estensione php Apache 0
C [PHP] Problema con download file PHP 0
M [PHP] Problema con preg_match PHP 1
gandalf1959 [PHP] problema con l'utilizzo di Header PHP 3
M [PHP] Problema con query select PHP 2
S [Javascript] Problema con condizione "if" Javascript 2
K Problema di indicizzazione con dominio vecchio vuoto SEO e Posizionamento 2

Discussioni simili