![]() |
idHTTP Postdaten werden "falsch" übertragen
Hallöchen ihr lieben :)
Mein erster Post in diesem netten und vor allem hilfreichen Forum ;) Tatsächlich könnte ich ein wenig Hilfe gebrauchen... Ich schreibe derzeit an einem Programm, welches im Endeffekt die Nachbildung einer Website wird, von einem Projekt, welches ich als Supporter betreut habe... Ich lese mit diesem Programm Daten der Website aus, stelle sie in verschiedener Form in meinem Programm dar, verändere sie über Editfelder und schicke sie per idHTTP.Post wieder ab.... Die richtigen Daten abzurufen und darzustellen war soweit nicht das große Problem... Momentan hängt es eher an der Speicherung der Daten!
Delphi-Quellcode:
Das ist der Code, der nicht so recht funktionieren mag.
procedure TForm2.Button9Click(Sender: TObject);
var saveallydata:TStringList; s:string; tsadress,tspw:string; begin saveallydata := TStringList.Create; try tsadress:= edit3.Text; tspw:= edit4.Text; saveallydata.Values['speichern'] := 'selecttsversion=TS3&tsserver='+tsadress+'tspw='+tspw+'ansprechpartner=xxx+xxxxx+xx+xxx%3A +xxxxxxxxxxx%40xxxxxxxxxx&ansprechpartner2=&allianzname=xxxxx+xxx+xxxx&allianztext=&speichern=Speichern%2Fsave+'; try s:=idHTTP1.post('http://xxx/xxx/xxx.php',saveallydata); Memo2.Lines.Add(s);//nur zu Debugzwecken except on E: Exception do ShowMessage('Fehler: ' + E.Message); end; finally saveallydata.Free; end; end; Ich hab mir mal erlaubt, zwecks Anonymität einiger Personen (da war ne MSN Adresse samt vollem Namen enthalten^^) die daten geringfügig zu verändern... Hoffe, dass es der Problemlösung keinen Abbruch tut Bevor jemand fragt^^ Nein, es gibt keine Fehlermeldung, das Programm tut alles was es sonst soll, außer das es die Postdaten falsch überträgt.... Falls es Hilfreich ist.... Zeichen wie "=" und "&" werden in lustige Gebilde a'la "%3D" und "%26" umgewandelt, was denke ich, so nicht sinn der Sache sein sollte^^ Hoffe, ihr habt ein wenig Mitgefühl mit einem Neuling :-) Liebe Grüße und schonmal danke fürs Lesen ;) |
AW: idHTTP Postdaten werden "falsch" übertragen
"=" und "&" werden zu "%3D" und "%26" weil sie Separatoren der Post Anweisung sind (Slashes und so müsste er auch umwandeln).
|
AW: idHTTP Postdaten werden "falsch" übertragen
Zitat:
Gut, ich verlagere meine Frage mal etwas :) Was kann ich dagegen unternehmen? Bzw. wie kann ich meinen Code so modifizieren, dass die Website die Daten annimmt? Denn das ist momentan mein größtes Problem und ich hab nicht mal ansatzweise eine Lösung parat. Falls es hilft, hier mal die Postdaten vom Absenden aus: Browser:
Code:
Und aus meinem Programm:
selecttsversion=TS3&tsserver=xx.xxx.xxx.xxx%3Axxxx&tspw=xxxxxxxxxxx&ansprechpartner=xxx+xxxxx+xx+MSN%3A+xxxxxxxxxxx%40hotmail.de&ansprechpartner2=&allianzname=xxxxx+xxx+xxxx&allianztext=&speichern=Speichern%2Fsave+
Code:
Vielleicht kann mir ja jemand ein oder zwei Lösungsansätze oder ein paar Schlagworte liefern, damit ich diverse Suchfunktionen bemühen kann :)
speichern=selecttsversion%3DTS3%26tsserver%3Dxx.xxx.xxx.xxx%3Atspw%3Dxxxxxxxxxxx&ansprechpartner%3Dxxx%2Bxxxxx%2BAD%2BMSN%253A%2Bxxxxxxxxxxx%2540hotmail.de%26ansprechpartner2%3D%26allianzname%3Dxxxxx%2Bxxx%2Bxxxx%26allianztext%3D%26speichern%3DSpeichern%252Fsave%2B
Danke im Vorraus :) |
AW: idHTTP Postdaten werden "falsch" übertragen
HTTPEncode
unit HTTPApp; |
AW: idHTTP Postdaten werden "falsch" übertragen
Wieso presst du denn alle Daten in eine Variable namens "speichern" ?
Delphi-Quellcode:
saveallydata := TStringList.Create;
try tsadress:= edit3.Text; tspw:= edit4.Text; saveallydata.Values['selecttsversion'] := 'TS3'; saveallydata.Values['tsserver'] := tsadress; saveallydata.Values['tspw'] := tspw; // und so weiter .... try s:=idHTTP1.post('http://xxx/xxx/xxx.php',saveallydata); |
AW: idHTTP Postdaten werden "falsch" übertragen
Zitat:
Vielen Vielen Viiiiielen Dank für die Lösung :) War ne Sache von zwei Minuten, den Code nach deinem Beispiel anzupassen :) Auch danke an Schlagzu und Bummi für die Mühe, aber HTTPEncode war wohl doch eine Liga zu groß für mich... Das ist nach einigen Versuchen letzte Nacht trotzdem fehlgeschlafen :( Aber die Lösung von Sx2008 ist Klasse und funktioniert :) Danke nochmals :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz