Visualizzazione risultati 1 fino 7 di 7

Discussione: Problema http POST con request da programma esterno

  1. #1
    Guest

    Unhappy Problema http POST con request da programma esterno

    Salve,
    spero sia questa la sezione giusta.
    Sono due giorni che tento di fare una richiesta http POST da un software eseguito sul mio PC.

    La richiesta è formattata in questo modo:

    Codice:
    POST /inserisci_coord.php HTTP/1.0\r\nHost: despanet.altervista.org\r\n\User-Agent: Arduino\r\nContent-Type: application/x-www-form-urlencoded" \
              "\r\nContent-Lenght: 20\r\n\r\nlat=prova&long=prova\r\n"
    Il codice della pagina è questo:

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

    <head>
    <title>senza nome</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta name="generator" content="Geany 1.22" />
    </head>

    <body>

    <?php
    //CONFIGURAZIONE CONNESSIONE MYSQL
    $_CONFIG['host'] = "localhost";
    $_CONFIG['user'] = "*******";
    $_CONFIG['pass'] = "*******";
    $_CONFIG['dbname'] = "*******";

    //CONNESSIONE
    mysql_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass']) or die('Impossibile stabilire una connessione');
    mysql_select_db($_CONFIG['dbname']);
    ?>

    <?php
    if(strlen($_POST["lat"])){
    $query_ins = mysql_query("INSERT INTO traccia_coordinate (lat, lon) VALUES ('".$_POST['lat']."', '".$_POST['long']."')");
    echo
    $_POST['lat'];
    }else{
    $query_ins = mysql_query("INSERT INTO traccia_coordinate (lat, lon) VALUES ('no', 'no')");
    echo
    "non va";
    }
    ?>
    </body>

    </html>
    Il codice nella pagina è corretto. Ho creato un'altra pagina con un form e quando faccio submit inserisce correttamente quello che scrivo nelle caselle del form nel database.
    Quando eseguo la richiesta dal mio software la pagina viene raggiunta correttamente ma non vengono inviate o lette le variabili, il server mi restituisce questo:

    Codice:
    HTTP/1.1 200 OK
    Date: Sun, 10 Feb 2013 14:46:11 GMT
    Server: Apache
    Vary: Accept-Encoding
    Content-Length: 372
    Connection: close
    Content-Type: text/html
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    
    <head>
    	<title>senza nome</title>
    	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
    	<meta name="generator" content="Geany 1.22" />
    </head>
    
    <body>
    
    non va</body>
    
    </html>
    C'è qualcosa di sbagliato nel codice della mia richiesta?
    Ho provato sia in C che in Python e con vari tutorial e reference su internet e ottengo sempre lo stesso risultato.

    Grazie per l'attenzione

    Saluti
    Fabio

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Sembrerebbe tutto corretto. Proverei a farmi stampare tutto $_POST con una print_r, tanto per vedere se c'è qualcosa. E se non ne vieni a capo fatti stampare anche $_SERVER.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Grazie per la risposta.
    Ho provato e il risultato è questo:

    Codice PHP:
    $_POST = Array
    (
    )

    $_SERVER = Array
    (
    [
    SCRIPT_URL] => /inserisci_coord.php
    [SCRIPT_URI] => http://despanet.altervista.org/inserisci_coord.php
    [AV_SERVER_LANG] => it
    [HTTP_HOST] => despanet.altervista.org
    [HTTP__USER_AGENT] => Arduino
    [CONTENT_TYPE] => application/x-www-form-urlencoded
    [HTTP_CONTENT_LENGHT] => 20
    [PATH] => /sbin:/bin:/usr/sbin:/usr/bin
    [SERVER_SIGNATURE] =>
    [
    SERVER_SOFTWARE] => Apache
    [SERVER_NAME] => despanet.altervista.org
    [SERVER_ADDR] => *********
    [
    SERVER_PORT] => 80
    [REMOTE_ADDR] => *********
    [
    DOCUMENT_ROOT] => /var/www/html
    [SERVER_ADMIN] => info@altervista.org
    [SCRIPT_FILENAME] => /membri/despanet/inserisci_coord.php
    [REMOTE_PORT] => 59288
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.0
    [REQUEST_METHOD] => POST
    [QUERY_STRING] =>
    [
    REQUEST_URI] => /inserisci_coord.php
    [SCRIPT_NAME] => /inserisci_coord.php
    [PHP_SELF] => /inserisci_coord.php
    [REQUEST_TIME] => 1360866288
    )
    C'è qualcosa che non va, a parte l'array $_POST vuoto?

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Tutto corretto, quindi l'errore deve stare dall'altra parte, nell'invio del form. Però l'unica cosa che non mi quadra è il fatto che dai un Content-Lenght di 20, ma in effetti mandi 22 caratteri.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    Mi sfugge qualcosa, perchè 22?

    Ho appena provato anche con 22 ma non cambia niente...

  6. #6
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da despanet Visualizza messaggio
    Mi sfugge qualcosa, perchè 22?

    Ho appena provato anche con 22 ma non cambia niente...
    Sono quei due caratteri di ritorno a capo che hai messo alla fine, dopo i dati del POST.

    Cmq l'errore è molto più scemo: si scrive Content-Length e non Content-Lenght.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  7. #7
    Guest

    Predefinito

    Che fesseria! Secondo me non è corretto che la risposta del server sia OK se c'è qualche comando sbagliato...

    Grazie mille comunque!!
    Chissà per quanto altro tempo ancora mi sarei scervellato... sono andato anche a leggere l'RFC...

Tags for this Thread

Regole di scrittura

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