Autor Beitrag
sashs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: So 08.04.12 16:02 
Hallo,

ich suche HTTP-Funktionalität mit Delphi XE2.
Ich habe im Internet gesucht und habe Indy gefunden. Allerdings ist das nur für Windows. Gibt es da etwas was ich für Windows und Mac verwenden kann?

Gruß

Sascha

Moderiert von user profile iconNarses: Titel erweitert.
sashs Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Mo 09.04.12 18:13 
Hallo,

ich habe jetzt das hier gefunden und das scheint zu funktionieren.
docwiki.embarcadero....en/HTTP_Get_(Delphi)

Das funktioniert auch.

Da das ganze nicht so toll dokumentiert ist, habe ich bei Google suchen müssen wie es mit Cookies funktioniert. Dazu soll es einen CookieManager vom Typ TIdCookieManager geben, der sich in der gleichen Unit befindet. Es gibt auch ein dementsprechendes property bei TIdHttp. Allerdings scheint es diese Klasse bei mir nicht zu geben und ich weiß nicht warum.

Weiß jemand genaueres warum diese Klasse beim Delphi XE2 fehlt aber dennoch im TIdHTTP genutzt wird?

Desweiteren weiß ich nicht wie das hier mit Post funktionieren soll.
Wozu dient die Source die ich dort angeben soll?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function Post(AURL: stringconst ASourceFile: String  {$IFDEF STRING_IS_ANSI}; ADestEncoding: TIdTextEncoding = nil{$ENDIF} ): stringoverload;
function Post(AURL: string; ASource: TStrings; AByteEncoding: TIdTextEncoding = nil  {$IFDEF STRING_IS_ANSI}; ASrcEncoding: TIdTextEncoding = nil; ADestEncoding: TIdTextEncoding = nil{$ENDIF}): stringoverload;
function Post(AURL: string; ASource: TStream  {$IFDEF STRING_IS_ANSI}; ADestEncoding: TIdTextEncoding = nil{$ENDIF} ): stringoverload;
function Post(AURL: string; ASource: TIdMultiPartFormDataStream  {$IFDEF STRING_IS_ANSI}; ADestEncoding: TIdTextEncoding = nil{$ENDIF} ): stringoverload;
procedure Post(AURL: stringconst ASourceFile: String; AResponseContent: TStream); overload;
procedure Post(AURL: string; ASource: TStrings; AResponseContent: TStream; AByteEncoding: TIdTextEncoding = nil  {$IFDEF STRING_IS_ANSI}; ASrcEncoding: TIdTextEncoding = nil{$ENDIF}); overload;
procedure Post(AURL: string; ASource, AResponseContent: TStream); overload;
procedure Post(AURL: string; ASource: TIdMultiPartFormDataStream; AResponseContent: TStream); overload;


Gruß

Sascha

Moderiert von user profile iconNarses: Quote- durch Delphi-Tags ersetzt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 09.04.12 20:32 
user profile iconsashs hat folgendes geschrieben Zum zitierten Posting springen:
Da das ganze nicht so toll dokumentiert ist, habe ich bei Google suchen müssen wie es mit Cookies funktioniert. Dazu soll es einen CookieManager vom Typ TIdCookieManager geben, der sich in der gleichen Unit befindet. Es gibt auch ein dementsprechendes property bei TIdHttp. Allerdings scheint es diese Klasse bei mir nicht zu geben und ich weiß nicht warum.
Bei mir befindet sich die Komponente bei XE2 unter Indy Misc in der Komponentenpalette. :nixweiss: (Ich erstelle diese aber in der Regel manuell.)

user profile iconsashs hat folgendes geschrieben Zum zitierten Posting springen:
Desweiteren weiß ich nicht wie das hier mit Post funktionieren soll.
Wozu dient die Source die ich dort angeben soll?
Naja, für die Post-Parameter. Irgendwo musst du die ja angeben. ;-)
sashs Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Mo 09.04.12 22:02 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconsashs hat folgendes geschrieben Zum zitierten Posting springen:
Da das ganze nicht so toll dokumentiert ist, habe ich bei Google suchen müssen wie es mit Cookies funktioniert. Dazu soll es einen CookieManager vom Typ TIdCookieManager geben, der sich in der gleichen Unit befindet. Es gibt auch ein dementsprechendes property bei TIdHttp. Allerdings scheint es diese Klasse bei mir nicht zu geben und ich weiß nicht warum.
Bei mir befindet sich die Komponente bei XE2 unter Indy Misc in der Komponentenpalette. :nixweiss: (Ich erstelle diese aber in der Regel manuell.)

Ok, hab ich gefunden. Ich weiß nicht wo ich es gesehen habe, aber wenn ich mich nicht irre, sollte es in der Unit IdHttp sein, es gibt aber eine Unit IdCookieManager.
In der Bibliotheken-Referenz vom Rad-Studio wird diese auch nicht aufgelistet.
Gibt es irgendwo eine Dokumentation, in der ich nachlesen kann, was alles von Haus aus mitgeliefert wird, ähnlich beispielsweise der Java-API oder der von Flex/ActionScript?
Es wäre auch ideal, wenn dort alle Units, Klassen und Methoden dokumentiert wären, dass ich weiß, was diese machen.
Ich kenne bisher nur das
docwiki.embarcadero....braries/en/Unit_List
und die Bibliotheken-Referenz und bei beiden sind die Sachen die ich suche meist nicht mit drin.

Was heißt du erstellst diese in der Regel manuell? Aus den Sourcen von der indy-Seite?

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:

user profile iconsashs hat folgendes geschrieben Zum zitierten Posting springen:
Desweiteren weiß ich nicht wie das hier mit Post funktionieren soll.
Wozu dient die Source die ich dort angeben soll?
Naja, für die Post-Parameter. Irgendwo musst du die ja angeben. ;-)


Das ist schon klar. ;-)
Also wäre die Angabe für das SourceFile eine Datei die ich hochladen möchte?

Gruß

Sascha
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 10.04.12 07:39 
user profile iconsashs hat folgendes geschrieben Zum zitierten Posting springen:
Was heißt du erstellst diese in der Regel manuell? Aus den Sourcen von der indy-Seite?
Nein, ich meine:
ausblenden Delphi-Quelltext
1:
MyIdHttp.CookieManager := TIdCookieManager.Create;					
Vielleicht noch mit Parametern, das weiß ich aus dem Kopf nicht. Aber letztlich kommt es auf das selbe heraus, wenn du es auf das Formular legst. Indy benutze ich aber lieber ohne Komponenten auf dem Formular, so dass ich es leichter aktualisieren kann.

user profile iconsashs hat folgendes geschrieben Zum zitierten Posting springen:
Also wäre die Angabe für das SourceFile eine Datei die ich hochladen möchte?
Wenn dort die Parameter fertig kodiert drin stehen, ja, aber für denn Zweck bietet sich eher TIdMultiPartFormDataStream an.
SvenAbeln
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 334
Erhaltene Danke: 3



BeitragVerfasst: Di 10.04.12 12:10 
user profile iconsashs hat folgendes geschrieben Zum zitierten Posting springen:

In der Bibliotheken-Referenz vom Rad-Studio wird diese auch nicht aufgelistet.
Gibt es irgendwo eine Dokumentation, in der ich nachlesen kann, was alles von Haus aus mitgeliefert wird, ähnlich beispielsweise der Java-API oder der von Flex/ActionScript?
Es wäre auch ideal, wenn dort alle Units, Klassen und Methoden dokumentiert wären, dass ich weiß, was diese machen.
Ich kenne bisher nur das
docwiki.embarcadero....braries/en/Unit_List
und die Bibliotheken-Referenz und bei beiden sind die Sachen die ich suche meist nicht mit drin.

Die Delphi Hilfe hat auch einen "Index" und eine "Suche" dort sind die entsprechenden Klassen und Units sehr schnell zu finden.

Indy wird zwar zusammen mit Delphi installiert, ist aber ein unabhängiges Open-Source Projekt und gehört nicht zur "offiziellen" VCL/RTL von Embarcadero. Die gesamte Dokumentation der Indy Units und Klassen ist aber auch in der Delphi Hilfe eingebunden (unter Inhalt / Internet Direct (Indy) 10) und kann auch über die Suche und den Index erreicht werden.

Ansonsten gibt es die gesamte Dokumentation beim Indy Projekt in verschiedenen Formaten zum Download oder zum Online lesen.
sashs Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Di 10.04.12 18:52 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Den Index hatte ich gestern schon gesehen. Dort hatte ich IdCookieManager eingegeben, aber aus irgendeinem Grund wurde dieser nicht angezeigt. Gestern habe ich noch gefunden, welche Unit ich bei den uses einfügen muss.

Jetzt habe ich nochmal im Index danach gesucht und auf einmal werden mir dazu Hilfethemen aufgelistet. Also irgendwas muss ich gestern doch falsch gemacht haben. :gruebel:
Das gleiche auch bei TIdMultiPartFormData.

Naja, jetzt hab ich alles und es funktioniert.

Danke euch.

Gruß

Sascha