Autor |
Beitrag |
ph0g
Hält's aus hier
Beiträge: 6
|
Verfasst: Do 10.03.11 12:54
Guten Tag,
bin noch relativer Anfänger in Delphi und möchte nun etwas mit Curl in Delphi machen, da die Indy HTTP Componente nicht so funktioniert wie ich es mir vorstelle und daher dazu gezwungen bin curl zu benutzen.
Leider weiss und verstehe ich nicht, wie ich curl in Delphi "implementieren" kann. Habe mir schon dirverse Sachen bei Google rausgesucht, aber eine lauffähige Lösung habe ich nicht bekommen.
Würde mich sehr freuen, wenn mir hier jemand helfen kann.
Gerne auch in ICQ: 749386 Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am Do 10.03.2011 um 13:10
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 10.03.11 14:15
Moin und  im Forum!
ph0g hat folgendes geschrieben : | möchte nun etwas mit Curl in Delphi machen, da die Indy HTTP Componente nicht so funktioniert wie ich es mir vorstelle und daher dazu gezwungen bin curl zu benutzen. |
Aha? Was genau sollte das denn sein?
ph0g hat folgendes geschrieben : | Leider weiss und verstehe ich nicht, wie ich curl in Delphi "implementieren" kann. |
Ich habe mir zugegebenermaßen das Ganze nicht näher angesehen, aber "theoretisch" holst du dir die .h-Datei für C(++) und portierst die Deklarationen für die DLL-Funkionen in einer Delphi-Unit.
ph0g hat folgendes geschrieben : | Gerne auch in ICQ: |
Der Sinn eines Forums ist es eine Problemlösung hier zu erarbeiten, wir sind ja keine Kontaktbörse. So hat auch jemand was davon, der später mal zu dem gleichen Problem eine Lösung sucht.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Nano-Ware
      
Beiträge: 394
Erhaltene Danke: 7
|
Verfasst: Do 10.03.11 14:44
Eine andere Frage ist, was die Indy Komponenten denn nicht erfüllen, was du aber gerne hättest
|
|
ph0g 
Hält's aus hier
Beiträge: 6
|
Verfasst: Do 10.03.11 15:41
Also, erstmal vielen Dank für eure Antworten.
Mit Indy HTTP rufe ich eine Webseite auf, problem ist aber, dass diese eine 302 weiterleitung via htaccess vermutlich auf eine andere macht, und ich demnach nicht an den Quelltext oder generell irgendwas rankomme, da Delphi eine Fehlermeldung mit besagtem Fehler 302 ausgibt.
Dann habe ich mir gedacht, aktiviere ich: Followredirects und dann kriege ich erneut eine Fehlermeldung mit 500 - Interner Server Error. Bin mir aber zu 100% sicher, dass es nicht am Server liegt. Wenn ichs manuell ansurfe, gehts schließlich auch...
|
|
turboPASCAL
      
Beiträge: 193
Erhaltene Danke: 1
Win XP / Vischda
D6 PE / D2005 PE
|
Verfasst: Do 10.03.11 15:44
_________________ Nein, ich bin nicht der turboPASCAL aus der DP, ich seh nur so aus...
|
|
ph0g 
Hält's aus hier
Beiträge: 6
|
Verfasst: Do 10.03.11 15:47
Ist das verboten? Was spricht dagegen 2 Quellen für eine Lösung seines Problems zu beanspruchen?
|
|
guinnes
      
Beiträge: 182
Erhaltene Danke: 14
|
Verfasst: Do 10.03.11 15:56
ph0g hat folgendes geschrieben : | Ist das verboten? Was spricht dagegen 2 Quellen für eine Lösung seines Problems zu beanspruchen? |
Ne, es spricht aber was dagegen, die Threads nicht gegenseitig zu verlinken
|
|
turboPASCAL
      
Beiträge: 193
Erhaltene Danke: 1
Win XP / Vischda
D6 PE / D2005 PE
|
Verfasst: Do 10.03.11 16:22
ph0g hat folgendes geschrieben : | Ist das verboten? |
Nein, nicht das ich wüsste. Ist aber meiner bescheidenen Meinung nach anständiger...
ph0g hat folgendes geschrieben : | "Was spricht dagegen 2 Quellen für eine Lösung seines Problems zu beanspruchen? |
Auch nichts.
Was spricht für die Verlinkung von Multiposts ?
- Ein schnellerer Weg zum Ziel.
- Es kann Anderen helfen.
- Es ist möglich das Teillösungen in anderen Foren dazu beitragen eine bessere oder Komplettlösung zu erarbeiten.
- ...
Da ich schon am meckern bin, Curl kennt nicht jeder. Wenn ich diesen Thread / diese Frage hätte würde ich kurz erläutern
was Curl ist, damit Unwissende wissender werden.
Denn manchmal kommen dem einen oder Anderen auch gute Ideen...
_________________ Nein, ich bin nicht der turboPASCAL aus der DP, ich seh nur so aus...
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Fr 18.03.11 11:45
Da ich keine Ahnung hab was Curl ist, hab ich einfach mal gegoogelt
Das sieht doch ganz gut aus:
curl.haxx.se/libcurl/pascal/
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
ph0g 
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 18.03.11 15:46
Leider verstehe ich es trotzdem noch nich wie ich es jetzt eingebunden kriege.... Ich hab mal diese curlobj.pas in die Projektdatei gezogen aber dort kamen nur fehler auf.. bräuchte eine "schritt für schritt" anleitung 
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Fr 18.03.11 17:24
Du packst die Unit irgendwo hin und dann öffnest du mit [Projekt]>[Dem Projekt hinzufügen]. Das sollte noch keine Fehlermeldungen geben. Und dann musst du halt mal gucken, was die Fehlermeldungen sagen wenn du die Unit benutzen willst. Schritt-Für-Schritt Anleitungen gibts halt nicht immer, manchmal muss man auch selbst sich überlegen warums nicht geht 
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
ph0g 
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 18.03.11 17:33
Der Fehler liegt in der curlobj.pas die ich von der Curlseite downloade. Der Fehler erscheint erst wenn ich alles kompilieren will...
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Fr 18.03.11 17:40
Was sagt der Fehler denn? Wo kommt er? Wenn er in der pas liegt, hält dann nicht der Compiler dort? Sonst mal mit Breakpoints probieren.
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Fr 18.03.11 17:50
Jo und dann noch CrossPost
Was steht den in den AGBs der Seite?
Aus der DP von @phog
Zitat: | Weil es nicht geht... Ich darf die Seite leider nicht nennen um die es sich handelt, ich muss formulardaten an eine Seite senden, und warum auch immer, geht es nur mit curl. |
ALf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
freimatz
Hält's aus hier
Beiträge: 13
|
Verfasst: Mo 28.03.11 17:19
Das sieht so aus, als sei das nicht curl selber sondern ein Wrapper. Ich kenne curl nur als Kommandozeilen-Tool.
|
|
Thom
      
Beiträge: 70
Erhaltene Danke: 5
Delphi 10 Seattle Prof.
|
Verfasst: Mo 28.03.11 22:16
ph0g hat folgendes geschrieben : | Guten Tag,
bin noch relativer Anfänger in Delphi und möchte nun etwas mit Curl in Delphi machen, da die Indy HTTP Componente nicht so funktioniert wie ich es mir vorstelle und daher dazu gezwungen bin curl zu benutzen. |
Ich habe die Diskussion schon in der Delphi-Praxis mitverfolgt.
Ich denke, es ist kein finanzielle Frage, daß die anderen so reagieren, sondern eine Frage des Tons. Winkt jemand mit x Euro und reagiert auf Nachfragen abweisend, so kommt logischerweise eine unfreundliche Antwort. Schaukelt sich das Ganze auch noch hoch, endet es - ja eben wie in der Dephi-Praxis.
Aber immerhin hast Du hier schon einmal etwas näher begründet, weshalb Du Indy nicht verwenden möchtst. Dabei wäre es so einfach gewesen:
Frage:
Die Indy-Funktion IdHTTP1.Get(MeineSeite,Stream) liefert nur eine Exception. Was kann ich tun?
Antwort:
Liefert die Seite nicht die HTTP-Antwort 200, reagiert Indy mit einer Exception. Das ist bei diesen Komponenten so gewollt und damit normal.
Frage:
Wie kann ich dann aber den Quelltext von Weiterleitungsseiten ermitten?
Antwort:
Unterbinde die Erzeugung von Exceptions. Nutze folgenden Code:
Delphi-Quelltext 1:
| IdHTTP1.Get(MeineSeite,Stream,[302,500]); |
Antwort:
Vielen Dank, werde ich gleich einmal ausprobieren.
Da wäre kein Schwenken eines oder mehrerer Scheine nötig gewesen, denn das hinterläßt erstens den Eindruck einen gewissen Überheblichkeit und Arroganz und zweitens würde sich wirklich kein Profi für diesen Betrag hinsetzen und Dir ein Beispiel programmieren für eine kaum genutzte Unit, wenn alternative - und bessere - Lösungen zur Verfügung stehen.
Auf eine höflich gestellte und ordentlich begründete Frage hingegen erhälst Du meistens eine hilfreiche Antwort.
ph0g hat folgendes geschrieben : | Ist das verboten? Was spricht dagegen 2 Quellen für eine Lösung seines Problems zu beanspruchen? |
Auch das ist eine Frage des Tons: Du beanspruchst.
Synonymwörterbuch:
bestehen auf, fordern, abverlangen, besetzen, für sich haben wollen, Anspruch erheben auf, sein Recht behaupten... Höflich? 
|
|