Senden von Headern?

  • Ich hab mir eine kleine Software zusammengetippert, mit der ich bei meinem Lieblingsonlinespiel meine Markttätigkeiten verwalten kann. Dazu sende ich eine Abfrage über eine URL und bekomme die Antwort als downloadfile. Alles prima.

    Nun gibts aber Sachen, für die ich mich einloggen muss - das läuft über OAuth 2.0. Da komme ich mit meinen Programmierfähigkeiten an meine Grenzen, denn für eine Abfrage muss ich nicht nur eine einzeilige URL schicken sondern mit Header...

    Zitat

    Create a Base64 encoded string, including padding, where the contents before encoding are your application’s client ID, followed by a :, followed by your application’s secret key (e.g. Base64(<client_id>:<secret_key>)). For example, given the input CLIENT_ID:CLIENT_SECRET, the resulting string should be Q0xJRU5UX0lEOkNMSUVOVF9TRUNSRVQ=.

    • You will need to send the following HTTP headers (replace anything between <>, including <>):
      • Authorization: Basic <Base64 encoded credentials>
      • Content-Type: application/x-www-form-urlencoded
      • Host: login.eveonline.com

    Finally, send a POST request to https://login.eveonline.com/v2/oauth/token with your form encoded values and the headers from the last step.

    Wie schaffe ich mit XProfan 4 diese Hürde?

    ---
    Xprofan X4, Win7/32, Win10/64

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Naja, ich würde es mal zuerst 'einfach' probieren :

    Code
    Declare String MyID, Header
    Cls
    MyID = Encode64("CLIENT_ID:CLIENT_SECRET")
    Header = "Authorization: Basic <\:MyID;>\nContent-Type: application/x-www-form-urlencoded\nHost: login.eveonline.com"
    Print Header
    waitkey

    Das "CLIENT_ID:CLIENT_SECRET" 

    mußt du natürlich mit deiner eigenen ID:Key ersetzen. Kommt jetzt darauf an, wie die es

    genau wollen, also ob ein \n reicht. Notfalls das ganze mal auch in eine Structur pressen

    und dann per Bereich übergeben. Evtl. reicht ja obiges schon. Oder mal ohne \n probieren.

    Die spitzen Klammern <> scheinen dazu zu gehören oder liest du das anders ?

    Die zu sendende URL wäre dann vielleicht sowas :

    Code
    "https://login.eveonline.com/v2/oauth/token=\:Header;"

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    Einmal editiert, zuletzt von H.Brill (25. Dezember 2023 um 19:24)

  • Ein frohes neues Jahr zusammen! Ich fürchte so einfach ist es nicht, hier etwas per downloadfile zusammenzubauen. Ich versuche mal alles außer der Base64-Kodierung zu beleuchten.

    Downloadfile wird nur als sogenanntes "GET" funktionieren und ein Header lässt sich auch nicht in die URL integrieren. Es muss also wie gefordert ein POST mit entsprechendem Header verwendet werden. Ich habe dazu mal einen Code von mir modifiziert. Da ich keine Zugangsdaten habe, gibt er wie erwartet den HTTP Statuscode 401 (nicht autorisiert) zurück. Mit deinen base64 kodierten Zugansdaten dürfte es gehen allerdings geht aus deinem Beitrag noch nicht hervor wie dir eigentlichen Daten neben dem Header struktueirt sein sollen. Zum testen von APIs kann ich diese Seite sehr empfehlen: https://reqbin.com/
    Sobald die Abfrage dort gelingt, weiß man, was man zu programmieren hat.

    Hier der XProfan Code:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!