PDA

Visualizza la versione completa : [C++] Winsock e invio di dati tramite richiesta HTTP POST


VisRoboris
18-05-2012, 11:46
Salve
Sto cominciando a lavorare con winsock, e come primo obbiettivo mi sono posto quello comunicare con una pagina php e ottenerne l'output.
Finché si tratta di passare parametri in GET alla pagina mi viene tutto bene, ma quando provo a fornirli in POST.. semplicemente la pagina in PHP non li vede. Sono sicuro ci sia un errore nella richiesta, ma visto che ancora non me ne intendo molto chiedo a voi di aiutarmi a correggerla...

la pagina in php è:

<?php
$val1 = $_GET['page'];
$val2 = $_POST['val'];
$output = $val1.$val2;
echo($output);
?>

La richiesta che invio con Winsock è:


"POST /pagina.php?page=2 HTTP/1.1\r\n"
"Host: miosito.altervista.org\r\n"
"Connection: close\r\n"
"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/x-alambik-script, application/x-alambik-alamgram-link, */*\r\n"
"Accept-Language: en-us\r\n"
"User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)\r\n\r\n"
"val=13\r\n"

ESSE-EFFE
18-05-2012, 16:22
Penso che nell'header manchi il campo Content-Length. Meglio se aggiungi anche Content-Type.

VisRoboris
19-05-2012, 08:52
Risolto, grazie mille!

Loading