AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi URL aufrufen und POST ausführen
Thema durchsuchen
Ansicht
Themen-Optionen

URL aufrufen und POST ausführen

Ein Thema von delphinia · begonnen am 8. Okt 2007 · letzter Beitrag vom 6. Mär 2008
Antwort Antwort
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#1

URL aufrufen und POST ausführen

  Alt 8. Okt 2007, 21:23
Hi,

ich habe eine URL, die ich im Browser FF oder IE aufrufen will, und dnan das auf der Seite enthaltende Formular absenden!

Bei GET ist das ja kein Problem gleich die URL mit den entsprechnenden Variablen aufrufen aber bei POST geht das ja nicht also was nun?!
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: URL aufrufen und POST ausführen

  Alt 8. Okt 2007, 21:48
Man könnte das Formular lokal Nachbilden und feste werte an die Zielseite senden
Markus Kinzler
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: URL aufrufen und POST ausführen

  Alt 9. Okt 2007, 20:32
hmmm sonst gibt es keine Möglichkeiten?
Das scheint mir als Lösung nicht geeignet
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: URL aufrufen und POST ausführen

  Alt 9. Okt 2007, 20:39
bist du dir mit der Sparte sicher? Willst du es wirklich mit Delphimitteln erreichen oder willst du es mit dem Browser machen?
Was genau ist das Ziel?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: URL aufrufen und POST ausführen

  Alt 9. Okt 2007, 20:40
Aus meiner Anwendung heruas eine URL aufrufen, deren Formular dann gleich schon ausgeführt wurde...

Die params sind mir bekannt... mittels GET ja auch kein probleme
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#6

Re: URL aufrufen und POST ausführen

  Alt 9. Okt 2007, 20:41
du könntest es mit den indy's machen. die mit der komponenten idhttp einfach die entsprechenden get und post viriablen festleen und senden.
Christian
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: URL aufrufen und POST ausführen

  Alt 9. Okt 2007, 20:52
Aus meiner Anwendung heruas eine URL aufrufen, deren Formular dann gleich schon ausgeführt wurde...

Die params sind mir bekannt... mittels GET ja auch kein probleme



Aber ich habe udn will keinen Browser in meiner Application
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#8

Re: URL aufrufen und POST ausführen

  Alt 9. Okt 2007, 20:55
Die Indy's sind kein Browser. Sie enthalten eine Komponente, die dir Hilft, mit dem Internet zu komunizieren, ohne über andere Programme gehen zu müssen!
Christian
  Mit Zitat antworten Zitat
Lord Shadow

Registriert seit: 10. Okt 2007
15 Beiträge
 
#9

Re: URL aufrufen und POST ausführen

  Alt 10. Okt 2007, 12:28
Mittels der idHTTP Komponente kannst du URLS mit Get und Post Daten aufrufen und damit auch gleich Formulare abschicken. Zurückgegeben wird der Quelltext der dann entstandenen Seite. Die Postdaten kannst du genauso in einem String zusammenfassen und mit idHTTP.Post an die URL schicken.

Quelle: www.dsdt.info
Delphi-Quellcode:
function SendPostData(Ahttp: TIdHTTP; const AtoURL: String; const aParams: TStrings): String;
  //Ahttp: Die HTTP Komponente von Indy 8.0 bzw. 9.0
  //AtoURL: An diese URL werden die Informationen gesendet
  //Result: HTML-Ergebnis (Antwort des Scripts)
Var
  lStream: TMemoryStream; //HTML-Result des PHP-Scripts
  lParams: TStringStream;
  I: Integer;
begin
  Result:='';
  if not Assigned(aHttp) then
    exit;
  lStream := TMemoryStream.create;
  lParams := TStringStream.create('');
  try
    AHTTP.Request.ContentType := 'application/x-www-form-urlencoded';

    //Dieser Stream wird letztendlich gesendet
    //Stream mit Werten füllen
    for I:=0 to aParams.Count-1 do
      lParams.WriteString(aParams[I] + '&');

    try
      //Stream an das PHP-Script senden
      AHTTP.Post(AtoURL,
                 lParams,
                 lStream);
    except
      on E: Exception do
        showmessage('Fehler bei der Übertragung: ' + E.Message);
    end;
    SetLength(Result,lStream.Size);
    lStream.Position:=0;
    lStream.ReadBuffer(Result[1],lStream.Size);
  finally
    lParams.Free;
    lStream.Free;
  end;
end;
Mfg Shadow
  Mit Zitat antworten Zitat
mohikaner13

Registriert seit: 2. Mär 2008
Ort: Sankt Ingbert
10 Beiträge
 
Delphi 5 Standard
 
#10

Re: URL aufrufen und POST ausführen

  Alt 6. Mär 2008, 08:59
Die Anfrage hat sich erledigt,

ich habe es jetzt doch mit der oben beschriebenen Indy-Komponente gemacht. Der Quelltext hat auf Anhieb aber nicht geklappt, da er in der übergebenen URL hinten immer noch ein "leeres" '&' anfügt. Das wird von dem Webserver meiner Webcam (RoboCam) aber nicht akzeptiert. Ich habe den Code also abgeändert, so dass er kein abschließendes '&' mehr übergibt (vielleicht nicht elegant, aber funktioniert

Delphi-Quellcode:
...
 //Dieser Stream wird letztendlich gesendet
    //Stream mit Werten füllen
 
    for I:=0 to aParams.Count-1 do
      begin
      lParams.WriteString(aParams[I] + '&');
      end;

    Text := copy(lParams.Datastring,0, length(lParams.Datastring)-1);
    lParams.WriteString(Text);

    try
      //Stream an das PHP-Script senden
      AHTTP.Post(AtoURL,
                 lParams,
                 lStream);
    except
      on E: Exception do
        showmessage('Fehler bei der Übertragung: ' + E.Message);
    end;
    SetLength(Result,lStream.Size);
    lStream.Position:=0;
    lStream.ReadBuffer(Result[1],lStream.Size);
...
Gruß, Jörg Hemmerling



Erste Anfrage (überholt):

Hallo,

ich suche eine ebensolche Lösung. (Nachdem ich nun das Bild meiner Webcam laden kann, will ich diese auch noch steuern können) Kann man den Post-Befehl nicht auch "einfach" als Text senden - nichts anderes sind doch die Daten, welche über http gesandt werden - oder?

Das müsste dann doch auch mit Delphi-Bordmitteln gehen?

Hat das schon mal jemand gemacht?
Ich werds mal versuchen - welche Daten (Header, Daten, usw) sollte ich ja mit einem sniffer rauskriegen können.

Nur - an welche Schnittstelle sende ich die dann? (Ich vermute mal über netsocks an die IP-Adresseort - richtig?)

Danke.
--
Jörg Hemmerling
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz