http://www.investing.com/indices/ftse-china-a50
前段时间有人问我如何得到这个网页的实时指数变化,经过抓包发现该网站提供的指数实时变化是通过Websock实现的,普通的http采集无法抓到实时变化的数据,只能得到前台网页的数据(大约15~20秒变化一次)。
考虑实现代码的难度,我推荐使用fiddlercore来获取这个实时数据,只要开着ie就行了,呵呵。
具体效果见下图:
联系QQ:564955427
欢迎交流!
原始链接 http://www.cnblogs.com/Charltsing/p/A50.html
如何识别WebSockes
使用Fiddler查看Request Headers
GET /echo/444/6z1x7spy/websocket HTTP/1.1
Origin: http://www.investing.com
Sec-WebSocket-Key: l5fyZFbA5vIGAMpqRdhI/Q==
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Version: 13
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: stream49.forexpros.com:443
Cache-Control: no-cache
使用Fiddler查看Reponse Headers
HTTP/1.1 101 Switching Protocols ----> 返回101表示服务器端已经理解了客户端的需求,并且客户端需要根据Upgrade中的协议类型,切换为新的协议来完成后续的通信。
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: OE5v65DVpoB/dn2GLCrVo9hqRV8=
EndTime: 16:27:41.872
ReceivedBytes: 125690
SentBytes: 6764
然后双击Session,就可以看到WebSockes Tab了