Ciao a tutti,
stavo provando a cliccare un link che chiamava un funzione js usando PHP, ma ho scoperto grazie a voi che non è possibile!
Cercando su internet ho trovato la funzione fsockopen che permette la comunciazione server/server, se non ho capito male.
Ho provato a usarla e fino alla connessione con l'altro server ci sono. La mia domanda è come faccio le richieste via POST?
Con HTTP Headers ho visto che pacchetti vengono messi in gioco, ma non riesco a capire il significato di alcuni di questi.
Ad esempio:
Codice PHP:
ScriptManager1=ctl13%24updPnlFermate%7Cctl13%24btnFilter&__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%2FwEPaA8FDzhjZjg1NmRkNThjNGZlMhgCBQxjdGwxMyR0YWJPQkoPPCsACgEIZmQFEGN0bDEzJE11bHRpVmlldzEPD2RmZGs7v%2Bd0YZiNHdHcEneKfsmrgfXn&__SCROLLPOSITIONX=0&__SCROLLPOSITIONY=0&txtSRC=&myToolbar%24txtEMLDST=&myToolbar%24txtEMLMIT=&myToolbar%24txtNTE=&ctl13%24dropLINE=1&ctl13%24dropDir=A&ctl13%24txtDAY=31%2F10%2F2012&ctl13%24txtHOUR=05.00&ctl13%24dropFermate=-1&__ASYNCPOST=true&ctl13%24btnFilter=Filtra
Quando eseguo questo codice mi viene richiesto:
questa parte che cos'è?
Ho notato che la sua lunghezza corrisponde al Content-lenght, ma come faccio a metterlo dentro il fsockopen?
Questo è il codice che ho iniziato a scrivere:
Codice PHP:
$fp = fsockopen( "ESEMPIO", 80, $errno, $errdesc); //establish connection
if($fp){ //connesso al server remoto
//echo "connesso.1";
fwrite($fp, "POST /ITA/Default.aspx?SEZ=2&PAG=38&MOD=LINTRV HTTP/1.1\r\nHOST: ESEMPIO\r\n\r\n");
while (!feof($fp)) {
print fread($fp,256);
}
fclose ($fp);
}
else
echo $errno."
".$essdesc;
Quando lo eseguo mi esce questo messaggio:
codice:
HTTP/1.1 411 Length Required Content-Type: text/html; charset=us-ascii Server: Microsoft-HTTPAPI/2.0 Date: Wed, 31 Oct 2012 09:59:31 GMT Connection: close Content-Length: 344 Length Required HTTP Error 411. The request must be chunked or have a content length.