Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Wie "öffne" ich eine URL mit einem | (https://www.delphipraxis.net/214809-wie-oeffne-ich-eine-url-mit-einem-%7C.html)

DelTurbo 13. Mär 2024 12:08

Wie "öffne" ich eine URL mit einem |
 
Hi,
ich müsste eine Datei herunterladen. Allerdings ist in der URL ein | (was ich noch nie gesehen habe).
Kein Browser lädt den "Mist". Auch wget auf Unix nicht.

Leider kann ich die URL nicht veröffentlichen, deswegen nur ein Beispiel.

https://#####.de/#######/########/daten|export_v2.csv

Ich habe fast das Gefühl als wenn das gar nicht ein "normaler" Senkrechter Strich ist.

Vielleicht hat ja jemand eine Idee oder weiß was das sein soll.

Vielen Dank im voraus

Rollo62 13. Mär 2024 12:23

AW: Wie "öffne" ich eine URL mit einem |
 
Hast Du statt dem Pipe-Strich mal ein Fragezeichen probiert?

DelTurbo 13. Mär 2024 12:29

AW: Wie "öffne" ich eine URL mit einem |
 
Ja habe ich. Ich habe auch schon den Grafischen strich probiert. Geht alles nicht.

Ich habe das gerade mal bissl getracert. Der sucht ein Cookie. Ich denke mal das nur wenn man einmal dort angemeldet war. Ob wohl der Support sagt es würde auch mit wget gehen. Also es wurde explizit nach wget gefragt und das wurde mit ja beantwortet. Ist vielleicht ein Quereinsteiger... :shock:

DelTurbo 13. Mär 2024 12:40

AW: Wie "öffne" ich eine URL mit einem |
 
So,
es ist nun definitiv. Man muss sich angemeldet haben. Sonst geht es nicht. Sorry an alle für die doofe Frage mit dem |.

Ich habe mal gelesen, weiß aber nicht mehr wo, das man die Anmeldung (ist ein form und wird mit POST gesendet) das man das machen kann ohne die Seite zu laden. Ich glaube das war mit Indy. Vielleicht weiß jemand ob ich hier gelesen habe.

gubbe 13. Mär 2024 12:47

AW: Wie "öffne" ich eine URL mit einem |
 
Zitat:

Zitat von DelTurbo (Beitrag 1534565)
Ich habe mal gelesen, weiß aber nicht mehr wo, das man die Anmeldung (ist ein form und wird mit POST gesendet) das man das machen kann ohne die Seite zu laden. Ich glaube das war mit Indy. Vielleicht weiß jemand ob ich hier gelesen habe.

Ja, wenn das Login lediglich Benutzername und Passwort erwartet, kannst Du das auch direkt in Delphi senden mit einem HTTP-Request. Dann kommt in der Antwort evtl. ein Cookie zurück, was Du wiederrum mitsenden kannst beim Download.
Die Login-Seite müsstest Du nur selbst laden, wenn noch irgendeine Form von zusätzlichem Parameter erwartet wird, den die Seite selbst erzeugt, wie z.B. ein CSRF-Token.

himitsu 13. Mär 2024 13:14

AW: Wie "öffne" ich eine URL mit einem |
 
https://de.wikipedia.org/wiki/URL-Encoding

%7C anstatt |



z.B. TIdURI.URLEncode

DelTurbo 13. Mär 2024 13:21

AW: Wie "öffne" ich eine URL mit einem |
 
Zitat:

Zitat von himitsu (Beitrag 1534570)

Das war das erste was ich versucht hatte. Aber hat sich ja geklärt. Der Support hat "gelogen" das es mit wget gehen würde.

Eine Frage: Ich habe folgende HTML-FORM. Wie fülle ich die aus und wie geht es dann weiter? Muss ich die URL in action mit POST und den Daten aufrufen?

Code:
<form action="/loginPost" method="POST" id="login-form">
                <input name="form_key" type="hidden" value="Sg8D3DVpXGvFSoog">

                    <label for="">E-Mail-Adresse</label>
                    <input class="form-control required-entry" type="email" id="login-user" name="login[username]" placeholder="Ihre E-Mail-Adresse">
                    <label for="">Passwort</label>
                    <input class="form-control required-entry" type="password" id="login-password" name="login[password]" placeholder="Ihr Passwort">

                <button class="btn btn-primary btn-block" type="button" onclick="loginForm.submit()">Anmelden</button>
</form>
Oder soll ich diese Post wieder löschen und einen neuen Thread aufmachen?

gubbe 13. Mär 2024 13:31

AW: Wie "öffne" ich eine URL mit einem |
 
Da hast Du jetzt leider einen unsichtbaren Parameter namens "form_key", der sich wahrscheinlich bei jedem Aufruf ändert. Dann reicht ein POST nicht, sondern Du müsstest zuerst die Seite laden und den Key daraus ermitteln, um ihn im anschließenden Post mitzugeben.

Gibt es nicht vielleicht eine dokumentierte einfachere Möglichkeit, die Datei abzurufen oder die Login-Daten direkt beim Abrufen der Datei mitzugeben? Ich meine, wenn da zunächst wget als Lösung genannt wurde, müsste es doch auch einfacher funktionieren.

DelTurbo 13. Mär 2024 13:38

AW: Wie "öffne" ich eine URL mit einem |
 
Der support hat auf die anfrage ob man es ohne Login per wget laden kann, diese Antwort geschickt.

[antwort]
Hallo Herr ######,

klar, sie können über die URL: https://#####.de/#######/########/daten|export_v2.csv die Datei via WGET herunterladen 😊
[/antwort]

Ich denke mal da braucht man nix mehr fragen.

gubbe 13. Mär 2024 13:45

AW: Wie "öffne" ich eine URL mit einem |
 
Naja, bevor Du Dir jetzt viel Arbeit machst, würde ich dann doch mal nachhaken und darauf hinweisen, dass es per wget nicht geht, weil ein Login erforderlich ist. Vielleicht fragt der Support dann mal jemanden, der sich auskennt :-)

Vielleicht ist es auch einfach nur ein Konfigurationsfehler, dass für den Download ein Login erforderlich ist.

Oder wenn es ein Standardsystem ist, etwa ein Webshop oder ähnliches, kann man schauen, ob es beim Hersteller eine Doku gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Seite 1 von 4  1 23     Letzte »    

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