神奇的WebSocket

2017-12-03  本文已影响0人  Hystrix_Hu

之前应用webSocket解决过一个服务端处理时间过长,导致服务断开的问题,应用webSocket长链接的属性规避了这个问题,对于WebSocket的应用比较粗浅。
今天,我在浏览某网页的时候想要抓去网页上的数据,页面上的数据是不断变化,正常分析是使用ajax从服务端获取数据,再用js填充到页面中,但是当使用调试工具去获取rest接口时,发现没有相关的url,这就很奇怪了。可能是搜索关键字不准确,导致万能的度娘也没给出准确的解答。机缘巧合下,让我查到html5的WebSocket能实现相关的功能。

var webSocket = new WebSocket("wss://url/ws");
    webSocket.binaryType = "arraybuffer";
    webSocket.onopen = function(event){
        console.log(("webSocket connect at time: "+new Date()));
       //发送相关参数 
       webSocket.send("param"));
    }
   //接收信息
    webSocket.onmessage = function(event){
        var raw_data = event.data;
        //to do 
    }

    webSocket.onclose = function(){
        console.log("webSocket connect is closed");
        console.log(arguments);
    }
    webSocket.onerror = function(){
        console.log("error");
        console.log(arguments);
    }

对于像我这种对前端一知半解的开发来说,WebSocket还有一种防爬虫的功效。通过chrome network页面中的ws选项可以获取到相关数据,只会有一条记录,点开后会有一个data界面,里面是客户端和服务端的数据交互。

上一篇 下一篇

猜你喜欢

热点阅读