亚洲国产精品一区|午夜精品久久久久久久99热|草久在线观看高清|欧美精品V国产不卡在线观看

  • <tbody id="6baca"><style id="6baca"><track id="6baca"></track></style></tbody><dl id="6baca"></dl>

      1. <dl id="6baca"><thead id="6baca"></thead></dl>
          <dl id="6baca"></dl>
        1. <acronym id="6baca"><button id="6baca"><sup id="6baca"></sup></button></acronym>

          新疆信息港歡迎您!

          新疆信息港
          新疆信息港 > 科技 >python輕松抓取app接口!

          python輕松抓取app接口!

          2020-11-20 04:15:04
          來(lái)源:互聯(lián)網(wǎng)
          閱讀:-

          我們使用代理軟件攔截 http 或者 https 請(qǐng)求常見的有 Fiddler 和 Charles。...

          我們使用代理軟件攔截 http 或者 https 請(qǐng)求常見的有 Fiddler 和 Charles。這兩款軟件雖然比較強(qiáng)大,但是如果我們想實(shí)現(xiàn) python 抓取一些 app 數(shù)據(jù)進(jìn)行分析的話,今天介紹一款更方便的工具 mitmproxy

          安裝 mitmproxy

          如果我們本機(jī)安裝了 pip 或者 pip3

          pip install mitmproxy --ignore-installed six

          或者直接

          brew install mitmproxy

          或者下載安裝包手動(dòng)安裝下載地址,安裝完成后配置環(huán)境變量

          啟動(dòng)

          直接 mitmproxy 命令默認(rèn)在端口 8080 上啟動(dòng)一個(gè) mitmproxy 本地的代理服務(wù)

          mitmproxy

          當(dāng)然也可以使用如上命令 添加 -p 自定義啟動(dòng)的端口如,mitmproxy -p 8888

          使用 mitmweb 命令會(huì)同時(shí)在 8080 端口和 8081 端口啟動(dòng)兩個(gè)服務(wù),訪問 8081 端口是一個(gè) web 頁(yè)面,實(shí)時(shí)顯示訪問數(shù)據(jù)

          mitmweb

          app 抓包

          配置手機(jī)代理 手機(jī)代理和通用的代理配置一樣,在 wifi 網(wǎng)絡(luò)的高級(jí)里面設(shè)置手動(dòng),并輸入 pc 端的 ip 地址,端口號(hào)是上面啟動(dòng) mitmproxy 的端口默認(rèn) 8080

          https 抓包 瀏覽器訪問 http://mitm.it 下載對(duì)應(yīng)的 pem 證書并安裝。然后在手機(jī)端打開需要抓包的 app 就可以正常讀取 app 請(qǐng)求每個(gè)頁(yè)面的數(shù)據(jù)包

          測(cè)試抓取指定 app 接口數(shù)據(jù) 編寫 python 程序并使用命令為 test.py 程序如下然后使用 mitmweb -s wlw.py 命令啟動(dòng)服務(wù)

          #!/usr/bin/env python3# -*- coding: UTF-8 -*-import jsonfrom mitmproxy import ctx
          def response(flow) : url = "https://xxx/handle/execute.jhtml" if flow.request.url.startswith(url) : text = flow.response.text data = json.loads(text) print(data)
          result = data.get('result') print(result) ctx.log.info(str(result)) else: print(flow.request.url) print("\n") print(flow.request.text) print("\n") print(flow.response.text)

          可以發(fā)現(xiàn)我們可以直接把抓包得到的數(shù)據(jù)結(jié)果在控制臺(tái)打印出來(lái),這樣我們?cè)?python 程序中獲取到指定的數(shù)據(jù)以后就可以非常方便的保存和進(jìn)行分析。

          {'result: '{"sign":"","secret":"","oper":"loginoffice","type":"account","source":"O","version":"1009","app_version":"4.9.4_debug","device":{"OSV":"","OS":"","IMEI":"00000000-21a8-bdd2-ffff-ffff97d5da05"},"para":{"umtoken":"","password":"123456","username":"FJFZSOP1Y1"},"deviceBrand":"HUAWEI","deviceModel":"PRA-AL00X","deviceOsVersion":"8.0.0","deviceOs":"Android","name":"","userName":"FJFZSOP1Y1","code":"3","msg":"密碼不正確!"}', 'arg': '{"sign":"","secret":"","oper":"loginoffice","type":"account","source":"O","version":"1009","app_version":"4.9.4_debug","device":{"OSV":"","OS":"",""00000000-21a8-bdd2-ffff-ffff97d5da05"},"para":{"umtoken":"","password":"123456","username":"FJFZSOP1Y1"},"deviceBrand":"HUAWEI","deviceModel":"PRA-AL00X","deviceOsVersion":"8.0.0","deviceOs":"Android","name":"","userName":"FJFZSOP1Y1"}'}

          至此 app 的數(shù)據(jù)包的抓包流程就走完了。

          申明 特此申明:本文只作為筆者自己的 app 數(shù)據(jù)抓包分析使用,請(qǐng)讀者不要惡意使用抓包程序?qū)ι虡I(yè) app 進(jìn)行違法的一些行為。

          python輕松抓取app接口

          推薦閱讀:浙江之窗

          免責(zé)聲明:本文僅代表企業(yè)觀點(diǎn),與新疆信息港無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
          熱門圖片
          熱門搜索