Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi XE5 Android Entwicklung: HTTP Request senden (https://www.delphipraxis.net/178398-delphi-xe5-android-entwicklung-http-request-senden.html)

hacki 6. Jan 2014 08:29

Delphi XE5 Android Entwicklung: HTTP Request senden
 
Hallo,

ich möchte mit dem RAD Studio XE5 mit Deplhi eine FireMonkey Anwendung für ein Android Device erstellen. Ich bin neu dabei, für diese Umgebung etwas zu entwickeln und hoffe da auf erfahrene Unterstützung.

Die FireMonkey Anwendung soll lediglich HTTP Requests ins lokale Netzwerk versenden und ggf von der Gegenstelle eine Antwort empfangen.

Welche Komponente muß ich dafür einsetzten ? Ich würde eigentlich die Komponente THTTPReqResp verwenden, weiß jedoch nicht, ob ich da richtig liege. In meinem Testprogramm habe ich folgende Zeilen geschrieben. Leider funktioniert es so wohl nicht:



Code:
procedure THeaderFooterwithNavigation.Button1Click(Sender: TObject);
var lParamList: TStringList,
    HTTPReqResp: THTTPReqResp;

begin
  lParamList := TStringList.Create;
  HTTPReqResp := THTTPReqResp.Create( NIL );

   if button1.Text <> 'sende Anfrage' then
   begin
     button1.Text := 'sende Anfrage';
     lParamList.Add('');
     HTTPReqResp.URL := 'http://192.168.178.200/?pinD1=1/?pinD2=1/?pinD3=1/?pinD4=1/?pinD5=1/?pinD6=1/?pinD7=1/?pinD8=1/?pinD9=1';
     HTTPReqResp.GetHTTPReqResp;
   end
   else
    button1.Text := 'Rollo hochfahren';

  lParamList.Free;
  HTTPReqResp.Free;
end;
Danke für eure Tips.

Gruß
Hackl

mjustin 6. Jan 2014 11:41

AW: Delphi XE5 Android Entwicklung: HTTP Request senden
 
Ich empfehle Indy und darin die Komponente TIdHTTP zu benutzen.

p.s. THTTPReqResp verwendet WinInet, und dabei steht "Win" für Windows ;-)

hacki 6. Jan 2014 12:16

AW: Delphi XE5 Android Entwicklung: HTTP Request senden
 
Hallo Justin,
danke für Deine schnelle Antwort. Ich hatte es gestern zunächst mit der Komponente TIdHTTP (Methode POST) probiert, allerdings hatte ich da immer wieder diverse Fehlermeldung (weiß nicht mehr genau - muss ich heute Abend nochmal probieren).

=> Deshalb dachte ich, dass wäre nicht die geeignete Komponente. Ich hatte immer nur Coding dieser Komponente im Zusammenhang mit einem Datei Downnload gefunden.

Hast Du die Komponente TIdHTTP schonmal in diesem Zusammenhang verwendet ? Gibt es irgendwo Beispiele ? Vielleicht muß ich vorher irgendwas initialisieren ?

Danke für deine Hilfe

Gruß
Hacki

RWarnecke 6. Jan 2014 12:31

AW: Delphi XE5 Android Entwicklung: HTTP Request senden
 
Zitat:

Zitat von hacki (Beitrag 1242377)
=> Deshalb dachte ich, dass wäre nicht die geeignete Komponente. Ich hatte immer nur Coding dieser Komponente im Zusammenhang mit einem Datei Downnload gefunden.

Nach was hast Du denn gesucht ? Hier sind reichlich Ergebnisse zu TIdHTTP und Post : Hier im Forum suchenTIdHTTP Post

hacki 6. Jan 2014 21:04

AW: Delphi XE5 Android Entwicklung: HTTP Request senden
 
Hallo,

ich bekomme beim Aufruf der TidHTTP - Post Anweisung immer eine Exception:
Code:
Socket Fehler #10013 Zugriff verweigert
Die URL scheint nicht aufgerufen worden zu sein, jedenfalls kann ich diesen Aufruf am Zielgerät (Microcontroller) nicht erkennen.

Habe leider keine Idee, woran das liegen kann.

Mein Coding sieht folgendermaßen aus:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var transmission: TStringList;
    response, url: String;
begin
  transmission := TStringList.Create;

  //IdHTTP := TIdHTTP.Create( NIL );

   if button1.Caption <> 'sende Anfrage' then
   begin
     button1.Caption := 'sende Anfrage';
     transmission.Add('/?pinD1=1/?pinD2=1/?pinD3=0/?pinD4=0/?pinD5=1/?pinD6=1/?pinD7=1/?pinD8=1/?pinD9=1');
     url := 'http://192.168.178.200';

     try
      response := IdHTTP.Post( url, transmission );
     except
       on E: Exception do
        begin
          showmessage('Fehler: ' + E.Message);
          button1.Caption := 'exception';
        end;
     end;
   end
   else
    button1.Caption := 'Rollo hochfahren';

  transmission.Free;
  IdHTTP.Free;
end;
Danke für eure Unterstützung

Gruß Hacki


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:26 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