API-Call mit OpenTCPStream

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

D-Frame

Betreff: API-Call mit OpenTCPStream

BeitragMo, Aug 13, 2018 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin Leute! Ich hatte vor etlichen Jahren mal ein kleines Tool geschrieben, das Börsendaten von der Yahoo-Finance-API abruft:

Code: [AUSKLAPPEN]
stream = OpenTCPStream("real-chart.finance.yahoo.com", 80)
WriteLine(stream, "GET http://real-chart.finance.yahoo.com/table.csv?s=MSFTa=08&b=13&c=2017&d=08&e=13&f=2018&g=d&ignore=.csv HTTP/1.0")
WriteLine(stream, Chr(10))


Klappte wunderbar. Inzwischen bietet Yahoo diesen Service leider nicht mehr an, daher wollte ich auf Alpha Vantage umstellen:

Code: [AUSKLAPPEN]
stream = OpenTCPStream("www.alphavantage.co", 80)
WriteLine(stream, "GET http://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=MSFT&apikey=demo&datatype=csv HTTP/1.1")
WriteLine(stream, Chr(10))


Leider tut sich da überhaupt nichts. Gebe ich die URL allerdings im Browser ein, wird mir korrekterweise die gewünschte CSV-Datei angeboten.

Kann mir jemand sagen, was hier schief läuft?

Eingeproggt

BeitragMo, Aug 13, 2018 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei einem HTTP-Aufruf musst du mindestens noch "Host" angeben. Also in deinem Fall:
Code: [AUSKLAPPEN]
WriteLine(stream, "Host: www.alphavantage.co")

Man sollte in jedem Fall etwas zurück bekommen... Und wenn es nur errors sind - die sagen dann zumindest, was schief läuft. Im Falle von 4xx-Errors, hast du etwas bei der Anfrage falsch gemacht. (Eventuell werden weitere HTTP-Headers erwartet)

LG

Nachtrag: Wenn ich diese URL im Browser aufrufe, kriege ich einen 301-Redirect zu:
https://www.alphavantage.co/qu...tatype=csv
Sprich, zu HTTPS... Das kann man mit Blitz nicht so einfach laden. Da braucht man andere Tools, wie zB curl.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

D-Frame

BeitragDi, Aug 14, 2018 7:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für den Hinweis mit dem Redirect, da liegt offenbar der Hase im Pfeffer. Das ist wohl dann auch der Grund, weswegen überhaupt nichts zurück kommt, nicht einmal ein Fehler. Schade!

Thunder

BeitragMi, Aug 15, 2018 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe auch Mal einen Request mit curl geschickt und das zurückbekommen:
Code: [AUSKLAPPEN]
{
    "Error Message": "the parameter apikey is invalid or missing. Please claim your free API key on (https://www.alphavantage.co/support/#api-key). It should take less than 20 seconds, and is free permanently."
}


Ah.. mein Fehler. Mit dem demo Key geht es. Ist aber vielleicht trotzdem besser, wenn du
dir einen API key holst.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

D-Frame

BeitragMi, Aug 15, 2018 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hätte mir sofort einen Key zugelegt, wäre der Test mit dem Demo-Key verlaufen wie geplant. Da es aber offenbar mit Blitz nicht funktioniert und ich von Curl keinen Plan habe, werde ich das Vorhaben wohl begraben.

Thunder

BeitragSa, Aug 18, 2018 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe vor einem Jahr die libcurl mit bindings für BB gebaut. Link: https://www.blitzforum.de/foru...hp?t=40406
Da ist auch ein Beispiel wie man sie für Downloads verwendet. Du kannst den Download entweder auf die Festplatte oder in
eine Bank laden.

Btw: Die einstellung "Da ich nur X kann und von Y keinen Plan habe und es mit X nicht geht, mache ich einfach nichts" ist es wert überdacht zu werden!
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

D-Frame

BeitragSo, Aug 19, 2018 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist auch nicht meine Grundeinstellung, aber Zeit ist leider ein begrenztes Gut und man muss Aufwand und Nutzen abwägen. Und da in diesem speziellen Fall die API calls nicht zentraler Sinn meines Projektes sind, sondern nur Mittel zum Zweck, wäre es mir den Lernaufwand einfach nicht wert gewesen.

Dennoch danke für den Link, das werd ich mir mal anschauen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group