AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

HTTP über MSXML

Ein Thema von shmia · begonnen am 21. Jun 2007
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

HTTP über MSXML

  Alt 21. Jun 2007, 18:51
Meistens wird ja Indy empfohlen, um Daten per HTTP zu verschicken und empfangen.
Wem dies zu viel Installationsaufwand ist, kann die MSXML ActiveX-Library von Microsoft benützen.
Natürlich bindet man sich so ganz eng an Windows und den IE.

Über das Interface IXMLHTTPRequest kann man auch verschlüsselte (SSL) Verbindungen über das HTTPS-Protokoll aufbauen.
Ausserdem werden die Proxy-Einstellungen der IE übernommen.
(siehe auch: http://de.wikipedia.org/wiki/XMLHttpRequest )

1.) Schritt
MSXML muss importiert werden. Alles schliesen.
Im IDE-Menue Projekt->Typbibliothek importieren... klicken
Dann "Microsoft XML, v4.0" auswählen und auf "Unit anlegen" klicken
diese Beschreibung bezieht sich auf Delphi 5. Andere Delphi-Versionen können hier leicht abweichen
MSXML gibt es in den Versionen 2.0 bis 6.0.
Ich empfehle hier die Version 4.0, da man nicht sicher sein kann, dass auf jedem Rechner
auch wirklich die aktuellste Version installiert ist.

2.) Schritt
eine Webseite downloaden:
Delphi-Quellcode:
uses ..., MSXML2_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var
   req : IXMLHTTPRequest;
begin
   Memo1.Clear;
   Memo2.Clear;

   req := CoXMLHTTP.Create; // Interface erzeugen
   // in EdtURL steht die URL, die heruntergeladen werden soll
   req.open('GET', EdtURL.Text, False, {Username} EmptyParam, {Passwort} EmptyParam);

   // eigenen Request-Header setzen
   req.setRequestHeader('ApplicationID', 'Test V1.0');

   req.send(EmptyParam); // Anfrage an Server senden und Antwort abwarten

   // Header anzeigen
   MemoHeaders.Lines.Text := req.getAllResponseHeaders;
   // Nutzdaten anzeigen
   MemoData.Lines.Text := req.responseText;

   // Status anzeigen
   Caption := req.statusText;

   // das Interface wird automatisch freigegeben; kein .Free oder .Release erforderlich
end;
Man kann auch eigene Header setzen und auch andere Methoden wie z.B. HEAD, POST, PUT, ... verwenden.
Auch die WebDAV (<== "erweitertes HTTP") Methoden sind verfügbar.
Andreas
  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 21:09 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