Jump to content

Websocket API


netjack
 Share

Recommended Posts

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.

Edited by netjack
Link to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

  • 3 weeks later...

 

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 to comment
Share on other sites

  • 2 weeks later...
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 to comment
Share on other sites

  • 1 year later...

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 to comment
Share on other sites

  • 2 months later...
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 to comment
Share on other sites

@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 to comment
Share on other sites

  • 1 month later...

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 to comment
Share on other sites

@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 to comment
Share on other sites

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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.