![]() |
Indy HTTP POST...
Hallo!
ich hab eine PHP Datei die einen String über Post annimmt - und mit ihm dann eine Datenbank abfrage macht. (DELETE ODER INSERT) naja - hab das ganze bis vor kurzem mit GET gemacht - hat prima funktioniert. Allerdingsversteh ich die POST Funktion nicht ganz vom INDY HTTP komm nicht mal mit dem Response STring zurecht. kann mir jemand ein kleines Beispiel geben (?) (mein code Bisher)
Delphi-Quellcode:
var tsql : TStringList; sql : wideString; // stream : TSTream; ... sql := stringreplace(sql, ' ', '%20', [rfReplaceAll, rfIgnoreCase]); tsql := TStringlist.Create; stream := TStream.Create; tsql.Clear; tsql.text := sql; http.Post('http://webserver/getfile.php', tsql, nil); // http.Post('http://webserver/getfile.php', tsql, Stream); || ABSTRACT ERROR! tsql.Free; stream.free; Das ganze ist in ner Schleife in der der SQL String zusammengesetzt wird. Der Syntax des SQL Strings ist auch korrekt. liegt wohl am Post.... ach ja hier noch die PHP File:
Code:
Meine Fragen:
<?php
include("../../config/dbase_conf.inc.php"); include("../../classes/dbase_class.inc.php"); $db = new db_com; $db->dbConnect(); echo $_POST["sql"]." "; $sql = stripslashes($_POST["sql"]); echo $sql; echo mysql_query($sql); ?> 1. kann mir jemand helfen den REsponse STring zu bekommen - und mir helfen den Post Erfolgreich abzuschließen? thx |
kann mir niemand helfen?
|
ok - ich versuch jetzt grad anders aber so funktionierts aus net ganz - kann mir hier evtl jemand helfen?
http ist ein TClientSocket
Delphi-Quellcode:
http.host := 'webserver';
http.Port := 80; http.active := TRUE; if http.Active = TRUE then begin http.Socket.SendText('POST /getfile.php HTTP/1.1' +' Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash,' +' */* Referer: [url]http://127.0.0.1[/url] Accept-Language: de Content-Type: application/x-www-form-urlencoded' +' Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)' +' Host: webserver Content-Length: 118 Connection: Keep-Alive Cache-Control: no-cache' +' sql=blabla'+#13#10+#13#10); memo2.lines.Add('SENT!'); end else http.Active := FALSE; http.Active := FALSE; |
Re: Indy HTTP POST...
Hi,
irgendwie hatte ich Dich übersehen.:oops: Ich erlaube mir mal, auf Deinen ersten Beitrag zurückzukommen:
Code:
...:cat:...
var
tsql : TStringList; sql : wideString; [color=#ff0000]stream : TStringStream;[/color] ... sql := stringreplace(sql, ' ', '%20', [rfReplaceAll, rfIgnoreCase]); tsql := TStringlist.Create; [color=#f60000]Stream := TStringStream.Create;[/color] tsql.Clear; tsql.text := sql; http.Post('http://webserver/getfile.php', tsql, nil); http.Post('http://webserver/getfile.php', tsql, Stream); tsql.Free; stream.free; [color=#f60000]// das ergebnis ist jetzt in [b]Stream.DataString[/b][/color] |
Bringt mir leider nicht mehr viel fürs aktuelle Projekt - aber für die Zukunft - fettes thx an sakura!
aber mit dem ClientSocket kannst mir nit helfen? Mein Cheffe meint i soll des doch nit mit Indy machen sonder mit den Socket Teilen... und irgendwie mag des nit - und er is bis Fr. net da |
Zitat:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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