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了