Visualizzazione risultati 1 fino 3 di 3

Discussione: problemi con request GET da http

  1. #1
    Guest

    Predefinito problemi con request GET da http

    ciao a tutti,
    probabilmente il mio problema è già stato discusso nel forum perché credo che sia banale, ma ho provato a cercare una discussione simile senza successo...

    il mio problema è che non riesco ad aprire una pagina php tramite request http esterna con metodo GET...

    l'obiettivo è quello di creare una pagina di datalogging fatto in siggatta guisa:
    1. Arduino raccoglie i dati
    2. li invia con comando GET ad una pagina php su AV
    3. php li legge
    4. e tramite comando sql li registra sul database

    i punti 1 e 4 sono OK, mentre uno tra il 2 ed il 3 non va... non so se li invio male o li leggo male...

    per semplificare, ho scritto un codice che prevede invio del valore 999 alla pagina php www.ilfabry.altervista.org/prendidato.php che a sua volta mi invia una mail contenente il valore letto... il problema non è che non legge il valore 999 (se così fosse riceverei una mail con valore nullo), ma proprio che non parte la pagina prendidato.php perche non ricevo nessuna mail...

    provo a postare le parti del codici:

    arduino:
    Codice HTML:
    #include <UIPEthernet.h> // Used for Ethernet
    
    byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };                                       
    
    EthernetClient client;
    char server[] = "http://ilfabry.altervista.org";   // Indirizzo del client su Altervista
    int  interval = 5000; // Intervallo tra in dump e l'altro
    
    void setup() {
    
      Serial.begin(9600);
      Ethernet.begin(mac);
      Serial.print("IP Address: ");
      Serial.println(Ethernet.localIP());
      Serial.println("");
    }
    
    void loop() {
    
      // verifico connessione e ottengo OK su seriale
      if (client.connect(server, 80)) {
    
        Serial.println("--> Connessione OK !");
    
        // Lancio la richista HTTP
        client.print( "GET /prendidato.php?valore=999");
        client.println( " HTTP/1.0");
        client.print( "Host: ");
        client.println(server);
        client.println( "Connection: close" );
        client.println("\r\n");
        client.println();
        client.stop();
    
        Serial.println("--> Comando GET inviato !");
        Serial.println("");
      }
      else {
        // Se connessione non riuscita...
        Serial.println("--> Connessione fallita !/n");
      }
    }
    come detto non si dovrebbe trattare di un problema di connessione ad AV perchè il controllo sul codice da 2Connessione OK !2 è:

    Codice HTML:
    IP Address: 192.168.1.15
    
    --> Connessione OK !
    --> Comando GET inviato !
    
    --> Connessione OK !
    --> Comando GET inviato !

    mente la pagina php /prendidato.php contiene:
    Codice HTML:
    <?php
    
    $valore = $_GET['valore'];
    
    mail (
    'xxx@hotmail.it',
    'prendi dato con GET',
    "il valore letto è $valore",
    'From: fake@hotmail.it'
    );
    
    ?>

    ovviamente ho provato a digitare sul browser il comando
    Codice HTML:
    www.ilfabry.altervista.orgprendidato.php?valore=999
    e tutto funziona a meraviglia...

    ovviamente le restrizione alla connessione Server to Server sono state disabilitate...

    ogni commento o consiglio è ben accetto...

    grazie

    ilfabry

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Sicuramente stai sbagliando l'header HTTP host: non devi infatti specificare il protocollo (non è un URL), ma solo il dominio (o l'indirizzo IP).

  3. #3
    Guest

    Predefinito

    OK, ho corretto come mi hai detto e funziona. Grazie mille.

    Ma ora sorge un altro problema. Ho provato a lanciare il programma di datalogging e all'inizio tutto funziona gira, ma dopo qualche dato inviato (una decina circa)con GET smette di funzionare. E' possibile che AV limiti il numero di chiamate di questo tipo in un certo intervallo di tempo ?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •