軟件:Fiddler
系統(tǒng):Windows10
手機(jī):MX4 PRO
Fiddler安裝和設(shè)置
通過(guò)地址下載Fiddler安裝包(點(diǎn)擊即可跳轉(zhuǎn))陕习,安裝完成后需要進(jìn)行簡(jiǎn)單的設(shè)置法焰。
打開(kāi)Fiddler進(jìn)入菜單欄Tools > Telerik Fiddler Options > HTTPS
分別將Decrypt HTTPS traffic(截獲HTTPS請(qǐng)求)和Ignore server certificate errors(unsafe)(允許別的機(jī)器把HTTP/HTTPS請(qǐng)求發(fā)送到Fiddler)打勾,端口號(hào)默認(rèn)8888
獲取電腦IP
Windows系統(tǒng)在Dos命令下輸入ipconfig后回車(chē)谭企,找到本機(jī)網(wǎng)絡(luò)連接的IP地址廓译,如下圖192.168.3.75
設(shè)置手機(jī)
使用Android手機(jī)打開(kāi)手機(jī)連接與電腦同個(gè)無(wú)線(xiàn)網(wǎng)絡(luò),找到代理設(shè)置進(jìn)行手動(dòng)設(shè)置债查,服務(wù)器填電腦的IP地址192.168.3.75非区,端口號(hào)填8888,點(diǎn)擊保存設(shè)置盹廷。接著打開(kāi)手機(jī)瀏覽器征绸,訪(fǎng)問(wèn)192.168.3.75:8888,點(diǎn)"FiddlerRoot certificate" 然后安裝證書(shū)俄占。
使用手機(jī)抓包
以沃·行訊通為例管怠,手機(jī)安裝APP打開(kāi)后點(diǎn)擊“的士”后就就可以到Fiddler里面找到狀態(tài)碼200,Host為nxxt.gzyyjt.net:8008/的抓包信息缸榄,右側(cè)的JSON里面可以看到車(chē)輛的數(shù)據(jù)渤弛,下一步我們就來(lái)解析這些數(shù)據(jù)。
使用Python處理JSON數(shù)據(jù)
用requests模塊可以直接解析json字符串甚带,再循環(huán)遍歷所有數(shù)據(jù)并打印出來(lái)她肯。
import requests
url = 'http://nxxt.gzyyjt.net:8008/xxt_app/taxi/getByCoord?reqpara=%7B%22devno%22%3A%22ffffffff-bb40-f2c5-388e-665a7c890a3e%22%2C%22devtype%22%3A0%2C%22direc%22%3A0%2C%22gpstime%22%3A1478156331262%2C%22lat%22%3A23.103395%2C%22lng%22%3A113.314984%2C%22speed%22%3A0%2C%22uid%22%3A159521%2C%22version%22%3A%223.1.1.0%22%2C%22versiontype%22%3A1%7D&longitude=113.314984&latitude=23.103395&range=500&pagesize=10000&_=1478156330868'
response = requests.get(url).json()
for car in response['retData']:
plate_num = car['plateNum']
longitude = car['mapCoord']['x']
latitude = car['mapCoord']['y']
print plate_num, longitude, latitude