Wie fügen Sie Kopfzeilen, wenn eine Verbindung zu einem websocket in Haskell

Ich versuche zum erstellen eines WebSocket-client zum herstellen einer Verbindung zu einem vorhandenen server (mtgox api).

Als Ausgangspunkt, um herauszufinden, die Verbindung zu WebSockets, fand ich dieses Beispiel-code https://github.com/jaspervdj/websockets/blob/master/example/client.hs

Das problem ist, dass Mtgox erfordert-Header mitgesendet, wenn es verbindet, ich bin nur nicht sicher, wie Sie Sie zu senden.

Update: Zu helfen, diese Arbeit heraus, habe ich eine einfache websocket-server zu. Wenn ich eine Verbindung über ein JavaScript WebSocket aus meinem Chrome-JavaScript-Konsole, sehe ich die folgenden überschriften:

 requestHeaders = [("Upgrade","websocket"),("Connection","Upgrade"),
("Host","127.0.0.1:8001"),("Origin","chrome://newtab"),("Pragma","no-cache"),
("Cache-Control","no-cache"),("Sec-WebSocket-Key","yOsPEMHx9AyT9u3ssNma/Q=="),
("Sec-WebSocket-Version","13"),("Sec-WebSocket-Extensions","x-webkit-deflate-frame"),
("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36")]

In der Erwägung, dass, wenn ich eine Verbindung über die Haskell-client sehe ich nur die folgenden überschriften:

requestHeaders = [("Host","127.0.0.1"),("Connection","Upgrade"),
("Upgrade","websocket"),("Sec-WebSocket-Key","X3hMDW4fAau53dbz7w4MTw=="),
("Sec-WebSocket-Version","13")]

Ich weiß nicht, was die überschriften sind eigentlich erforderlich, die von MtGox, aber mein plan war es, senden Sie einfach die gleichen, die Chrome sendet, da das funktioniert.

InformationsquelleAutor Peter Hall | 2013-08-04
Schreibe einen Kommentar