我正在嘗試編寫一個可以在設備本身上運行的http代理服務器。實際上,需要找到一種方法來捕獲設備生成的出站http流量。在Android設備上運行的本地代理服務器
我迄今被確定編譯的代碼,它是基於這裏找到代碼:http://www.jtmelton.com/2007/11/27/a-simple-multi-threaded-java-http-proxy-server/
的問題是,HTTP請求到實際的服務器會阻止,再也不回來。
有沒有更好的方式來編寫這樣的服務,而不需要root設備?
我正在嘗試編寫一個可以在設備本身上運行的http代理服務器。實際上,需要找到一種方法來捕獲設備生成的出站http流量。在Android設備上運行的本地代理服務器
我迄今被確定編譯的代碼,它是基於這裏找到代碼:http://www.jtmelton.com/2007/11/27/a-simple-multi-threaded-java-http-proxy-server/
的問題是,HTTP請求到實際的服務器會阻止,再也不回來。
有沒有更好的方式來編寫這樣的服務,而不需要root設備?
您應該檢查SandroProxy。 如果使用os代理服務器設置,或者使用iptables規則在根目錄設備上,則可以標記非根設備上的流量。 流量存儲在本地sqlite數據庫中。捕獲的數據也可以通過chrome devtools進行檢查。要在您的應用中捕獲流量,您應該檢查插件的源代碼。它具有iptables重定向和適當設置的所有代碼。
檢查出谷歌的源代碼維基鏈接HowToInterceptTrafficOnMyOwn
http://code.google.com/p/sandrop/wiki/HowToInterceptTrafficOnMyOwn
BTW:由sandroproxy支持:)
我一直在使用一款名爲proxydroid的軟件來將我的設備用作代理服務器,它是我找到的唯一不需要root的設備。我不知道這是否是給您的任何幫助,但它的一個開源項目,代碼可以在這裏找到:
https://github.com/madeye/proxydroid
我注意到,應用程序將一段時間後凍結,或如果一次發送大量請求,但我沒有機會找出發生這種情況的原因。
忘了設置代理服務器,使用Facebook Stetho庫(http://facebook.github.io/stetho/)審查所有發送http請求和來自仿真器/設備的響應
嗨SandroProxy的支持!謝謝你的幫助,我會給它一個去和發佈結果在這裏 – fran6
嗨,請你能協助嗎?我面臨一個System.loadLibrary(「socketdest」)的問題;我使用的是AndroidStudio,不知道如何構建jni庫 – fran6
您可以使用這個,以便您可以跳過構建它。http://code.google.com/p /sandrop/downloads/detail?name=libsocketdest.so –