AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke HTTP Download mit IdHTTP analog zu curl
Thema durchsuchen
Ansicht
Themen-Optionen

HTTP Download mit IdHTTP analog zu curl

Ein Thema von Paul Schmidt · begonnen am 26. Sep 2010 · letzter Beitrag vom 28. Sep 2010
Antwort Antwort
Paul Schmidt

Registriert seit: 7. Feb 2006
22 Beiträge
 
#1

HTTP Download mit IdHTTP analog zu curl

  Alt 26. Sep 2010, 19:33
Hallo Delphi Gemeinde,

ich hoffe, ihr könnt mir bei meinem Problem weiterhelfen:

ich möchte eine Datei mittels IdHTTP von einer URL mit Auth herunterladen.
Die Seite/Download ist mittels username/passwort geschützt.
Wenn ich das ganze mittels curl teste, funktioniert es.
Über IdHTTP (request) bekommen ich immer nur die Serverantwort, dass dieser
meine Anfrage nicht versteht bzw. das login falsch wäre.

Nun stehe ich irgendwie auf dem Schlauch und komme nicht weiter.
Funktionieren denn Anfragen/Downloads, welche mit curl klappen so ohne weiteres
mit mit IdHTTP ?

Viele Grüße,
Paul

ps: Hierfür gibts ja auch "curlpas". Allerdings möchte ich, wenn es geht,
darauf verzichten und die Delphi-eigenen Boardmittel einsetzen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

AW: HTTP Download mit IdHTTP analog zu curl

  Alt 26. Sep 2010, 19:56
Eigentlich sollte es ohne Probleme funktionieren. Wie sieht denn dein bisheriger Quelltext aus?
Und funktioniert die Passwortabfrage auf der Seite per Formular innerhalb der Webseite oder per Dialog (geschützter Bereich)?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Paul Schmidt

Registriert seit: 7. Feb 2006
22 Beiträge
 
#3

AW: HTTP Download mit IdHTTP analog zu curl

  Alt 26. Sep 2010, 20:13
als Testcode völlig simple:
Delphi-Quellcode:
var
  stream:TFilestream;
begin
  stream:=TFilestream.create('C:\foo.zip',fmcreate) ;
  idhttp1.Request.Username := 'username';
  idhttp1.Request.Password := 'password';
  idhttp1.Get('url',stream);
  idhttp1.disconnect;
  FreeAndNil(stream);
end;

Das Login auf der Seite funktioniert. Die login-Abfrage kommt.

Allerdings ist das Ergebnis als "foo.zip":
"Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
------------------------------------
Apache Server at..."
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: HTTP Download mit IdHTTP analog zu curl

  Alt 26. Sep 2010, 21:05
da fehlt noch idhttp1.Request.BasicAuthentication := true;
  Mit Zitat antworten Zitat
Paul Schmidt

Registriert seit: 7. Feb 2006
22 Beiträge
 
#5

AW: HTTP Download mit IdHTTP analog zu curl

  Alt 28. Sep 2010, 19:33
da fehlt noch idhttp1.Request.BasicAuthentication := true;
Hatte ich vergessen zu erwähnen: hatte ich bereits auf true gesetzt.

Hallo,

besten Dank für eure Tipps!

Allerdings sah die Lösung hierbei etwas anders aus:
das login musste ich als Post senden, um daraufhin den Download zu erhalten.

Daher: Problem gelöst.

Es grüßt,
der Paul
  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 19:24 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