Ho una board flyport con microcontrollore e modulo radio.
effettuo prima la connessione al server con server name "altervista.org"
fin qui tutto bene.
Utilizzo poi la seguente funzione
Codice PHP:
int HTTP_Post(TCP_SOCKET socket, char * host, char * path, char * custom_header, char * CType, char * data, char * header, int headersize, char * body, int bodysize, int timeout) //multipli di 10ms come vTaskDelay
{
char request[strlen(host)+strlen(path)+strlen(custom_header)+strlen(CType)+strlen(data)+100];
TCPRxFlush(socket);
sprintf(request,"POST %s HTTP/1.1\r\nHost: %s\r\nContent-Type: %s\r\nContent-Length: %d\r\n%s\r\n%s\r\n", path, host, CType, strlen(data), custom_header,data);
UARTWrite(1,request);
TCPWrite(socket,request,strlen(request));
return HTTP_Read(socket, header, headersize, body, bodysize, timeout);
}
dove
Codice:
Host = wattodemo.altervista.org
path = /emoncms/input/post.json?
CType = application/x-www-form-urlencoded
key = 2dd2bff9ffd9ae45f17ec2d75df44cbf
la funzione "funziona" :), riesco a postare correttamente dati su altri servizi come xively o nimbits.
La richista che hai effettuato ti ha comunque restituito un errore sul contenuto...o non lo hai inviato?
Karl, c'è un modo di vedere qual'è la richiesta che arriva al server? file di log di apache?