post wireless shield

tramite POST non è meglio??

dipende da cosa valuti per definire "meglio"...

credo che sia un metodo migliore per la sicurezza del parametro passato e rende più veloce il funzionamento del programma in php

ciao

via POST non "vedi" le variabili direttamente nella URL, ma se non usi HTTPS sono comunque "leggibili"... lato velocità del PHP boh... alla fine li ottieni sempre da un array associativo ($_POST o $_GET che sia).

come comodità sicuramente vince GET

eh lo so, ma io e il mio compagno di lavoro abbiamo deciso così. nel farla però sono arrivato a buon punto ma non riesco a capire nella funzione che segue l'ultimo parametro

POSTrequest (ipaddr, porto, hostName, URL, bodyFunc)

su internet (http://asynclabs.com/wiki/index.php?title=WiServerAPI#POSTrequest_class) da una spiegazione ma non riesco a capirne il significato in parole povere, cosa devo scriverci dentro.

ecco un esempio di POST:

POST /login.jsp HTTP/1.1
Host: www.mysite.com
User-Agent: Mozilla/4.0
Content-Length: 27
Content-Type: application/x-www-form-urlencoded

userid=joe&password=guessme

notare che tutti i campi fino a Content-Type compreso sono obbligatori e fanno parte dell’header, seguiti da una riga vuota e dai dati:

  1. POST, che indica il tipo di richiesta (c’è anche la GET, e molte altre)
  2. percorso (URL) della pagina richiesta, con path in stile unix (non c’è il c:\ sotituito da /, e le cartelle sono divisa da / anzichè )
  3. HTTP/1.1, ovvero il protocollo usato. consiglio di usare l’1.0 che è più semplice, ma non dovrebbe dare problemi
  4. Host: nome dell’host a cui fare la richiesta.
  5. User-Agent: identificativo del browser. mettici arduino se vuoi :slight_smile:
  6. Content-Length: dimensione in byte della parte dati (se 0 non credo sia valida la richiesta, bisogna fare una get)
  7. Content-Type: è il tipo di “formati” accettati, non metterlo, o metti text/plain

seguono i dati (notare che una lettera è 1 byte, infatti ci sono 27 lettere, che corrispondono esattamente alla Content-Length)

ciao

la cosa un pochino "complessa" nella funzione è che "bodyFunc" è il riferimento di un'altra funzione che effettivamente genererà l'header come lesto te l'ha esemplificato... e sempre bodyFunc deve avere il corretto prototipo.

quindi dovrai fare qualcosa tipo

void myBodyFunction() {

WiServer.println("POST /miapagina.php HTTP/1.1"); WiServer.println(...) }

grazie mille per gli aiuti... domani testo e vi dico... se tutto va bene vi metto nella relazione per l'esame :) :)