Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy HTTP POST... (https://www.delphipraxis.net/5594-indy-http-post.html)

Zerolith 12. Jun 2003 13:27


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:
<?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);

?>
Meine Fragen:

1. kann mir jemand helfen den REsponse STring zu bekommen - und mir helfen den Post Erfolgreich abzuschließen?

thx

Zerolith 13. Jun 2003 10:10

kann mir niemand helfen?

Zerolith 16. Jun 2003 10:46

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;

sakura 16. Jun 2003 11:23

Re: Indy HTTP POST...
 
Hi,

irgendwie hatte ich Dich übersehen.:oops:

Ich erlaube mir mal, auf Deinen ersten Beitrag zurückzukommen:
Code:
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]
...:cat:...

Zerolith 16. Jun 2003 11:27

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

sakura 16. Jun 2003 11:32

Zitat:

Zitat von Zerolith
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

Leider nicht, ich arbeite mit denen nicht, da ich mich an dieser Stelle an Borlands Richtlinie halte, die Indy-Komponenten zu nutzen. Diese sind, lt. Borland, besser geeignet und Borland wird auch keine Anstrengungen in die Weiterentwicklung der eigenen Komponenten investieren.

...: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