Hallo,
nun mal auf deutsch,
ich erhalte Variablen aus einem Forumlar. Diese Variablen werden an ein php-script uebermittelt, dass die Daten auf eine DB speichert. Zur Absicherung werden die Daten md5 kodiert. Dabei spielt auch der Zeitstempel einen Rolle, er fliesst mit in die Kodierung ein.
Wenn ich all diese Daten in einer <a href> Anweisung uebermittle, dann erhalte ich als Antwort vom Zielsystem, User wurde erfolgreich angelegt - was ich natuerlich auch ueberprueft habe.
Uebermittle ich diese Daten in meimem Script ueber wget oder curl, dann erhalte ich einen Fehler. Im einen Fall, dass der Zeitstempel bereits abgelaufen sei oder in der Zukunft liege. Im anderen Fall erhalte ich die Nachricht, Daten sind fehlerhaft.
Mein Verdacht ist, das wget und curl den Zeitstempel in einem anderen Format uebersendet, als ich ihm gebe (z.B. &time=1157097694) wird durch wget zu irgendwas.
Kennt jemand das Problem, oder hat wenigstens eine Idee ??
Hier nochmal in Kurzfom meien Anweisungen
Diese Funktioniert:
<a href= "http://mypage:8080/index.php?index=500&
cmd=save&time=$time&login=$login&hash=$hash_add"> klick </a>
Diese Funktionieren nicht:
shell_exec('wget "http://mypage:8080/index.php?index=500&
cmd=save&time=$time&login=$login&hash=$hash_add"');
$ch = curl_init("http://mypage:8080/index.php?index=500&
cmd=save&time=$time&login=$login&hash=$hash_add");
curl_exec($ch);
curl_close($ch);
Nein, ich kann leider nicht die <a href> Anweisung verwenden, da der Aufruf aus dem Script kommen muss und nicht durch die Interaktion mit einer Maustaste. Kann es sein dass ich wget sagen muss, es soll die Daten binär übermitteln ?
Danke im Voraus
aLeX...
Formatprobleme mit wget und curl (bei Datenuebermittlung)
- Banger
- Ehemaliges Teammitglied
- Beiträge: 375
- Registriert: 03.05.2005 21:53
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: Formatprobleme mit wget und curl (bei Datenuebermittlung
Das kann schonmal nicht gehen, weil die Variablen wegen der single-quotes nicht ersetzt werden. Außerdem sollte man die Parameter aus Sicherheitsgründen immer escapen.alex_k hat geschrieben:shell_exec('wget "http://mypage:8080/index.php?index=500& ... =$hash_add"');
Besser:
Code: Alles auswählen
$uri = "http://mypage:8080/index.php?index=500&cmd=save&time=$time&login=$login&hash=$hash_add";
$out = shell_exec('wget -q -O - '.escapeshellarg($uri));
Noch simpler geht's übrigens mit einem
Code: Alles auswählen
$out = file_get_contents("http://mypage:8080/index.php?index=500&cmd=save&time=$time&login=$login&hash=$hash_add");
- Banger
- Ehemaliges Teammitglied
- Beiträge: 375
- Registriert: 03.05.2005 21:53
- Wohnort: Düsseldorf
- Kontaktdaten:
Dann vermute ich mal, dass auf Deinem Server allow_url_fopen deaktiviert ist.alex_k hat geschrieben:leider funktionierte nur Dein wget code Bsp.
Setz mal das Errorreporting höher:
Code: Alles auswählen
error_erporting(E_ALL);