[過去ログ] スレ立てるまでもない質問はここで 159匹目 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
414
(2): デフォルトの名無しさん [sage] 2022/03/11(金) 05:54:22.65 ID:oLz1MdpQ(1/5) AAS
websocketの通信を解析しようとしたのですが行き詰まりました

外部リンク:www.coinglass.com
のサイトですが
wss://ws.coinglass.com:666/ws
で通信しているようです。

とりあえずブラウザのコンソールを開いて
var ws = new WebSocket("wss://ws.coinglass.com:666/ws/");
ws.binaryType="arraybuffer";
ws.onopen = function(data) {
console.log("通信接続イベント受信");
ws.send(JSON.stringify({"method":"subscribe","params":[{"t":"m1","key":"BTC:Binance:1:USDT","channel":"openInterestKline"}]} ))
ws.send("ping");
console.log(data);
}
ws.onmessage = function(data) {
console.log("メッセージ受信");
console.log(data);
}

としてみましたが、まったくメッセージを受信してくれません・・

上記サイトで通信中のやつはコンソールのネットワークのところで応答をみると
送信と受信がズラーッと流れているのですが同じようになってくれず・・
websocket得意な人お願いします・・
417: デフォルトの名無しさん [sage] 2022/03/11(金) 13:46:28.46 ID:oLz1MdpQ(3/5) AAS
>>415
415(2): デフォルトの名無しさん [sage] 2022/03/11(金) 12:23:25.86 ID:CNVfuDRe(1) AAS
originとか見て弾かれてるんじゃない?
originってクロスブラウザ的なリファラ的なやつでしょうか
一応>>414サイト上でブラウザのコンソールを開いたので
リクエストヘッダは同じだと思うのですが・・
応答ヘッダも付加されてて、ws.onopenのレスポンスもあるのです・・
ws.send(何か)がサーバー側のsendのトリガーにでもなってるのかな
と思いサイトのjavascriptを見てみましたが成形されていてちんぷんかんぷんです・・

(何かがエラー起きてレスができないので続く)
422
(1): 414 [sage] 2022/03/12(土) 00:43:41.20 ID:3lb5LtwJ(1) AAS
また>>414に関係する質問よろしいでしょうか
ただ今回はめんどくさそうになりそうなのでスルーでも全然OKです
ダメそうなら諦めます

今回行き詰まったのは
arraybufferでmessage受信後のテキスト変換です
何をやっても文字化けしてしまいます・・(受信は>>414>>420
420(2): デフォルトの名無しさん [sage] 2022/03/11(金) 14:30:40.77 ID:dn0V518E(1) AAS
origin関係なかった
URLが間違ってる
末尾のスラッシュがいらない
で出来ました)
String.fromCodePointなどでやってみましたがダメでした。

ソースコードをみてみたのですが、どうやら
このサイト独自の変換テーブル?的なのがかましてあるような気がします・・
>>418
418(1): デフォルトの名無しさん [sage] 2022/03/11(金) 13:47:50.36 ID:oLz1MdpQ(4/5) AAS
続き

おそらくこれが肝のスクリプトだと思うのですが
外部リンク[js]:aws-s3.coinglasscdn.com
外部リンク[js]:aws-s3.coinglasscdn.com

改行とか成形しました
35.82126dd781e83090ac6b.js
外部リンク:dpaste.com
/444QURVVY

2d95650d59911c5d5e7c116bfa4a29d5c8bf1405.34706760e2600fbd1dec.js
Zwwu: function (t, e, n) {の行以下が重要?
外部リンク:dpaste.com
/HS4MZERPD
の2d95650d59911c5d5e7c116bfa4a29d5c8bf1405.34706760e2600fbd1dec.js
のr.a.inflate(t.data,の行だと思います
ただ、おそらくとしか言えません。
で、inflateを探してみたのですが
外部リンク:dpaste.com
くらいにしかありませんでした、そして何をやっているのか分解してみてみましたがさっぱりです。。

messageを受信して、new Uint16Array(event.data)で得られる結果が
Uint16Array(12) [ 35615, 8, 0, 0, 0, 51243, 19407, 7, 16719, 8536, … ]
そしてソースコードの中にも35615があるので近いと思ったんですけどね。

何かしらの文字化け対策ができるか
実行結果だけでもコンソール上(もしくは拡張機能など)でうまいこと取れないものか
というのが今回の質問です。
もしソース解読しないといけないってなったらめちゃくちゃめんどくさそうなのであきらめます
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.536s*