Quaussi
Ensign
- Registriert
- Aug. 2013
- Beiträge
- 244
Hallo liebe Community,
folgendes Problem:
Ich möchte über einen HTTP Request mit der POST-Methode Parameter an ein php-File übermitteln und dann auf Antwort warten.
Verbindung zum Server funktioniert!
Einziges Problem: Parameterübergabe
PHP-Skript...nur die ersten beiden Zeilen!:
Die php-Fehlermeldung ([error]:no query) wird mir zurückgegeben. Am php-Skript darf ich keine Änderung vornehmen.
Ich habe die POST Methode anscheinend noch nicht richtig verstanden.
folgendes Paket sende ich zum php-Skrip:
gesendet wird über den Befehl:
Ich denke mal, dass der Parameter bei mir falsch übergeben wird.
Im Buch lese ich, dass der Parameter für POST-Methode im Body übergeben wird.
Jetzt sende ich allerdings an ein php-Skript und ich vermute, dass der Parameter im Header stehen muss.
Folgendes habe ich noch versucht ohne Erfolg, immer der selber Fehler ([error]:no query):
und:
Hoffentlich hat jemand von euch einen guten Einfall.
Grüße
folgendes Problem:
Ich möchte über einen HTTP Request mit der POST-Methode Parameter an ein php-File übermitteln und dann auf Antwort warten.
Verbindung zum Server funktioniert!
Einziges Problem: Parameterübergabe
PHP-Skript...nur die ersten beiden Zeilen!:
PHP:
if(!array_key_exists('query', $_POST))
die("[error]:no query");
Die php-Fehlermeldung ([error]:no query) wird mir zurückgegeben. Am php-Skript darf ich keine Änderung vornehmen.
Ich habe die POST Methode anscheinend noch nicht richtig verstanden.
folgendes Paket sende ich zum php-Skrip:
Code:
static const char *HEADERS = "POST /CamS/rfid.php HTTP/1.1\r\n"
"Host: 141.xx.xx.xx\r\n"
"Content-Length: ";
static const char *BODY = "query=User";
gesendet wird über den Befehl:
Code:
char *buffer = malloc(strlen(BODY) + strlen(HEADERS) + 256);
sprintf(buffer, "%s%d\r\n\r\n%s\r\n\r\n", HEADERS, strlen(BODY), BODY);
Ich denke mal, dass der Parameter bei mir falsch übergeben wird.
Im Buch lese ich, dass der Parameter für POST-Methode im Body übergeben wird.
Jetzt sende ich allerdings an ein php-Skript und ich vermute, dass der Parameter im Header stehen muss.
Folgendes habe ich noch versucht ohne Erfolg, immer der selber Fehler ([error]:no query):
Code:
static const char *HEADERS = "$_POST['query']=User /CamS/rfid.php HTTP/1.1\r\n"
"Host: 141.xx.xx.xx\r\n"
"Content-Length: ";
static const char *BODY = "";
und:
Code:
static const char *HEADERS = "POST /CamS/rfid.php HTTP/1.1\r\n"
"query: User\r\n"
"Host: 141.xx.xx.xx\r\n"
"Content-Length: ";
static const char *BODY = "";
Hoffentlich hat jemand von euch einen guten Einfall.
Grüße