Visualizzazione risultati 1 fino 3 di 3

Discussione: Percorso completo del mio sito?

  1. #1
    BaldanDavide non è connesso Neofita
    Data registrazione
    09-02-2013
    Messaggi
    2

    Lightbulb Percorso completo del mio sito?

    Salve a tutti,
    sto facendo un progetto per la tesina, e se fin ora avevo utilizzato XAMPP per testare il tutto, ora ho bisogno di utilizzare un server web che abbia un ip statico altrimenti ogni volta che cambia l'ip di casa devo riconfigurare tutto.
    In questo progetto però entra in gioco Arduino, che farà richieste GET e POST ad una pagina. Il problema che ho è il seguente: per fare queste richieste mi serve l'ip e il percorso del file dove andare a fare la richiesta. Quindi non posso mettere http://www.baldandavide.altervista.o...corso/file.php, ma devo mettere ad esempio l'ip "100.100.100.100" e come percorso "/membri/baldandavide/percorso/file.php".
    Dico così perché ho cercato su internet e ho visto che i siti web di altervista dovrebbero essere sul percorso della cartella membri/$nome_utente, quindi nel mio caso membri/baldandavide.
    Io ho provato ma non funziona.
    Il mio sito è il seguente: www.baldandavide.altervista.org
    Un esempio dei parametri che mi servono per fare la richiesta è questo:

    Codice PHP:
    client.println("GET percorso/file.php?richiesta=true HTTP/1.1");
    client.println("Host: 178.63.11.147");
    Quindi per fare questo mi servirebbe l'ip di altervista, ovvero: 178.63.11.147
    Quello che mi manca è il percorso del mio sito, così poi posso andare ad inviare le variabili che mi servono.

    PS. ringrazio tutti per la cortesia e spero che riusciate ad aiutarmi. Mi scuso se ho sbagliato sezione ma è la prima volta che scrivo qui, non mi piace disturbare.
    Ultima modifica di karl94 : 04-06-2015 alle ore 21.25.16 Motivo: Formattazione del codice

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

    Predefinito

    No, stai sbagliando. L'indirizzo IP ti serve solo per sapere con chi instaurare la connessione TCP. Una volta instaurata dovrai inviare attraverso questo socket la richiesta HTTP, tu hai riportato quasi correttamente le due istruzioni che servono a scrivere le prime due righe della richiesta. Dopo la stringa che identifica il metodo della richiesta (nel tuo esempio, GET) va il path con al più la query (la parte dopo il punto interrogativo, compreso), ma il path dovrebbe sempre cominciare col carattere /. Il path però è derivato direttamente dall'URL, quindi non è corretto quello che hai scritto: non serve sapere il percorso del file all'interno del filesystem sul server, ma basta prendere il path, componente dell'URL. L'header Host non ha problemi, è corretto scriverlo così ma non funzionerà con un server come quelli di AlterVista. AlterVista infatti ospita nel medesimo server, raggiungibile con un unico indirizzo IP, più di un sito e riesce a discriminare le varie richieste HTTP solo in base al contenuto dell'header Host, che anch'esso è direttamente derivato dall'URL. Nel tuo caso il nome dell'host è semplicemente baldandavide.altervista.org. Infine, le vari righe di una richiesta HTTP dovrebbero essere separate dalla sequenza di caratteri ASCII non stampabili CR (carriage return, codice 0D) e LF (line feed, codice 0A). Usando solo la funzione println, la libreria che usi invia solo un carattere LF come terminatore di riga, quindi per inviare la corretta sequenza potresti usare il codice
    Codice PHP:
    client.println("GET /path-here HTTP/1.1\r");
    Queste dovrebbero essere le informazioni sufficienti, se qualcosa non ti è chiaro spiega dove hai dubbi.

  3. #3
    BaldanDavide non è connesso Neofita
    Data registrazione
    09-02-2013
    Messaggi
    2

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    No, stai sbagliando. L'indirizzo IP ti serve solo per sapere con chi instaurare la connessione TCP. Una volta instaurata dovrai inviare attraverso questo socket la richiesta HTTP, tu hai riportato quasi correttamente le due istruzioni che servono a scrivere le prime due righe della richiesta. Dopo la stringa che identifica il metodo della richiesta (nel tuo esempio, GET) va il path con al più la query (la parte dopo il punto interrogativo, compreso), ma il path dovrebbe sempre cominciare col carattere /. Il path però è derivato direttamente dall'URL, quindi non è corretto quello che hai scritto: non serve sapere il percorso del file all'interno del filesystem sul server, ma basta prendere il path, componente dell'URL. L'header Host non ha problemi, è corretto scriverlo così ma non funzionerà con un server come quelli di AlterVista. AlterVista infatti ospita nel medesimo server, raggiungibile con un unico indirizzo IP, più di un sito e riesce a discriminare le varie richieste HTTP solo in base al contenuto dell'header Host, che anch'esso è direttamente derivato dall'URL. Nel tuo caso il nome dell'host è semplicemente baldandavide.altervista.org. Infine, le vari righe di una richiesta HTTP dovrebbero essere separate dalla sequenza di caratteri ASCII non stampabili CR (carriage return, codice 0D) e LF (line feed, codice 0A). Usando solo la funzione println, la libreria che usi invia solo un carattere LF come terminatore di riga, quindi per inviare la corretta sequenza potresti usare il codice
    Codice PHP:
    client.println("GET /path-here HTTP/1.1\r");
    Queste dovrebbero essere le informazioni sufficienti, se qualcosa non ti è chiaro spiega dove hai dubbi.
    Salve,
    la ringrazio infinitamente.
    Ho messo come host:
    client.println("Host: www.baldandavide.altervista.org");
    Poi ho messo lo slash (la barra) subito dopo il tipo di richiesta e il tutto funziona.
    Ancora molte grazie per l'aiuto e la disponibilità

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
  •