Zum Inhalt springen

Websocket API


netjack

Empfohlene Beiträge

Ich hab leider ein Problem beim zugriff auf die websocket Adresse es kommt keine Verbindung zustande, auch unter Firefox websocket Client kann ich keine Verbindung erstellen deswegen die Frage ob sich die Adresse geändert hat und oder im Header Informationen mit gesendet werden müssen. Oder hat jemand und C# die Verbindung zum websocket schon mal auf die beine gestellt bekommen.

Bearbeitet von netjack
Link zu diesem Kommentar
Auf anderen Seiten teilen

Die websocket API ist kein reiner Websocket, sondern ein Socket.io Server. Du kannst mittels https an ws.bitcoin.de eine Anfrage stellen, dann liefert er dir die möglichen Übertragungsmodi zurück (websocket,longpolling,etc.). Mit einem geeigneten Antwortpacket kannst du die Verbindung zum websocketProtokoll wechseln lassen. Ich kann die PythonCode zur Verfügung stellen, der einen socket.io client umsetzt, der als Protokoll dann aber nur websocket spricht.

Sockel.io hat für bitcoin.de den Vorteil, dass es für ältere Browser, die kein websocket sprechen, eine websocket-artige Schnittstelle bereit stellt. Die Marktansicht auf bitcoin.de verwendet das zum Beispiel.

 

Zitat

Aufgrund möglicher Software-Inkompatibilitäten empfehlen wir Ihnen für die Nutzung unserer Websocket-API die Socket.io-Client-Bibliothek in der Version 0.9.16.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 12/6/2017 um 18:45 schrieb netjack:

Ich hab jetzt mal ein kleines Tool erstellt ist noch nicht freigegeben da ich mich im Studium damit beschäftige. Hier ein link zu meinem Projektfortschritt.

mmo-inside.de

 

mfg

Waere ich Hacker, dann wuerde ich genau so ein Programm schreiben und einen Trojaner einbauen, der nicht nur Schadsoftware nachlaedt sondern das volle Programm an Schadsoftware auf den Rechner laedt.

Nur mal so drueber nachdenken ... auf beiden Seiten.

Als Programmierer also den Quellcode ueber z.B. github veroeffentlichen

Als Nutzer beim Installieren solcher Software immer vom Schlimmsten ausgehen und die Risiken abwaegen.

(ansonsten: Super Projekt, das spart jedem mal eben 25% der Gebuehren bei bitcoin.de - allein deshalb sollte jeder ein kleines Tool haben um ueber die API direkt die Order zu setzen)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Quellcode wird natürlich mitveröffentlicht momentan ist da aber noch kein Code vorhanden genauso wie das Tool noch nicht rausgegeben ist. Und ich will meine Arbeit Bzw den Quellcode natürlich nicht jedem offenlegen, wen es interessiert und die Arbeit zu schätzen weiß kann es haben und zwar natürlich beides, wobei die Rechte natürlich bei mir liegen.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Wochen später...

 

Am 8.12.2017 um 22:25 schrieb netjack:

Der Quellcode wird natürlich mitveröffentlicht momentan ist da aber noch kein Code vorhanden genauso wie das Tool noch nicht rausgegeben ist. Und ich will meine Arbeit Bzw den Quellcode natürlich nicht jedem offenlegen, wen es interessiert und die Arbeit zu schätzen weiß kann es haben und zwar natürlich beides, wobei die Rechte natürlich bei mir liegen.

Sieht interessant aus, vor allem weil auch der Quellcode vorliegt. Hab Interesse!

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
On 12/6/2017 at 1:44 PM, matthias.linden said:

Die websocket API ist kein reiner Websocket, sondern ein Socket.io Server. Du kannst mittels https an ws.bitcoin.de eine Anfrage stellen, dann liefert er dir die möglichen Übertragungsmodi zurück (websocket,longpolling,etc.). Mit einem geeigneten Antwortpacket kannst du die Verbindung zum websocketProtokoll wechseln lassen. Ich kann die PythonCode zur Verfügung stellen, der einen socket.io client umsetzt, der als Protokoll dann aber nur websocket spricht.

Hi Matthias,

Ich bin curly-bracket Programmierer, habe aber weder mit Python noch mit Java-script oder irgendwelchen web-Anwendungen zu tun gehabt. Dein code (snippet) würde mir tierisch bei diesem (privaten) Spass helfen! Vllt auch Deine Meinung oder Empfehlung zu "websocket, longpolling, etc." - was gäbe es da zu bedenken?

Vielen Dank schonmal,

Gerhard

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Jahr später...

Kennt jemand von euch einen guten Wrapper für socket.io in Python, um auf die bitcoin.de Websocket Schnittstelle zuzugreifen? 

Probiere gerade den folgenden https://github.com/miguelgrinberg/python-socketio

Damit kann ich zwar eine Verbindung aufbauen, bekomme aber keine Events vom bitcoin.de Socket.io Server. Nehme an, dass es an der falschen socket.io Version liegt, bitcoin.de verwendet ja Version 0.9.16. 

Falls es etwas funktionierendes gibt, könnte ich das bei Interesse in die bitcoin.de Python API unter https://github.com/peshay/btcde integrieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Monate später...
Am 10. April 2019 um 19:45 schrieb froseppl:

Damit kann ich zwar eine Verbindung aufbauen, bekomme aber keine Events vom bitcoin.de Socket.io Server. Nehme an, dass es an der falschen socket.io Version liegt, bitcoin.de verwendet ja Version 0.9.16.

Je nachdem mit welcher url du verbindest: ws.bitcoin.de und ws1.bitcoin.de sprechen v0.9.x Die beiden weiteren ws2. und ws3.bitcoin.de sprechen v2.0.11 oder so.

Meine gebastelte Python-Lösung findest du hier: https://github.com/matthiaslinden/bitcoinDE_API/tree/io2011

Basiert auf dem Twisted-Framwork. Läuft seit heute mit python2.7 und python3.7, verbindet sich mit allen 4 websocket-Quellen und liefert das jeweils schnellste Event aus. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

@matthias.linden Vielen Dank für den Link zu deinem GitHub, habe es mir gerade mal angesehen, klingt alles sehr durchdacht. Hast du evtl. für die WS Implementierung einen Codeschnipsel für mich, um dort einen Einstieg zu finden? Bei der normalen bitcoin.de API hast du ja im master Branch noch ein test Skript mit Beispielen, beim WS fällt mir allerdings der Einstieg sehr schwer. Schön wäre ein kurzes Beispiel wie man das ganze initialisiert und die Event Handler einrichtet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Also ich nutze primär Windows 10; der Einfachheit halber habe ich das Projekt einfach in PyCharm geladen und eine Umgebung für Python 2.7 eingerichtet... dabei wurden dann etliche Libraries nachinstalliert.. twisted, pyOpenSSL, ... hab nicht mehr alle parat. Ich könnte das ganze auch einfach mal in einen Docker Container (Linux) packen, oder über WSL ausführen und schauen wie es sich dann verhält... danke für Tipp ^^ probiere ich mal aus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@froseppl Unter Alpine (Docker) funktioniert es, wenn ich die erste Socket-Konfiguration (1, auf ws.bitcoin.de) weglasse; für diesen Socket geht die Verbindung immer verloren. Unter Windows 10 bekomme ich das Ding nicht zum Fliegen... macht aber nichts, da ich es ohnehin nur unter Linux verwenden würde.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 26. Juli 2019 um 20:53 schrieb jacketis:

funktioniert es, wenn ich die erste Socket-Konfiguration (1, auf ws.bitcoin.de) weglasse; für diesen Socket geht die Verbindung immer verloren.

Da wünscht sich openSSL, dass du noch das "service-identity" Packet nachinstallierst. Müsste das Script auch als Meldung ausspucken.

Ansonsten geben ws.bitcoin.de und ws1.bitcoin.de sowieso die gleichen Daten (socket.io 0.9.x) raus. ws2 und ws3 nutzen nur eine neuere Version (socket.io 2.x)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.