2015-10-03 10 views
15

में अपना ऐप बना रहा है, HTTP (get, post आदि) अनुरोधों की निगरानी कैसे करें, अपने स्वयं के ऐप में, मैं विभिन्न तृतीय पक्ष एसडीके का उपयोग कर रहा हूं जो कुछ रूपों या अन्य में नेटवर्क कॉल (HTTP अनुरोध) बनाते हैं। इस कोड को संपादित किए बिना, क्या मैं एप्लिकेशन के भीतर कोड को अलग-अलग लिख सकता हूं ताकि मेरे ऐप बनने वाले सभी जीईटी और POST अनुरोधों को रोक सके?मेरा ऐप एंड्रॉइड

मैं अपने ऐप में इन HTTP कॉल रिकॉर्ड करने के लिए

मैं Fiddler और Charles proxy tools का उपयोग कर के बारे में पता कर रहा हूँ चाहते हैं, लेकिन है कि एप्लिकेशन के बाहर है, लेकिन यह काम नहीं करेगा क्योंकि मैं अपने ऐप में इन HTTP कॉल रिकॉर्ड नहीं कर सकते ।

क्या ऐसा करने का कोई तरीका है?

संपादित करें: मैं अपने कोड में Google Analytics एसडीके और फेसबुक एसडीके का उपयोग कर रहा हूं। मैं उन सभी नेटवर्क कॉलों की निगरानी करना चाहता हूं जो इन एसडीके मेरे ऐप से बना रहे हैं

+0

आप अनुरोध या प्रतिक्रिया को रोकना चाहते हैं? –

+0

आपके वर्तमान परीक्षण कोड या आपके द्वारा किए गए प्रयासों के नमूने के कुछ विवरण पोस्ट करें। साथ ही, समझाएं कि आपको अंतर्निहित विधियों के बजाय तीसरे पक्ष के एसडीके का उपयोग क्यों करना है। – Tigger

+0

@ टिगर - मैं अपने कोड में Google Analytics एसडीके और फेसबुक एसडीके का उपयोग कर रहा हूं। मैं उन सभी नेटवर्क कॉलों की निगरानी करना चाहता हूं जो इन एसडीके मेरे ऐप से बना रहे हैं, और संभवतः अनुरोध/प्रतिक्रियाओं को लॉग/संपादित करने में सक्षम हैं। – atmaish

उत्तर

6

गैर जड़ें पर फोन आप एंड्रॉइड ओएस प्रॉक्सी का उपयोग कर सकते हैं और यातायात को पुनर्निर्देशित कर सकते हैं। लेकिन कुछ ऐप्स इसका सम्मान नहीं करते हैं। सीधे कनेक्शन बनाता है। कुछ tweaking किया जा सकता है। SandroProxy पर सभी ट्रैफ़िक को रीडायरेक्ट करने के लिए वीपीएन मोड के साथ ड्रेनी का उपयोग करें। यहां वीडियो है, फिर सैंड्रोप्रॉक्सी SandroProxy with Chrome devtools के साथ यातायात कैप्चर कैसे करें सैंड्रोप्रॉक्सी भी पॅकफाइल को कैप्चर कर सकता है। पैक प्रवाह पर एसएसएल एमआईटीएम भी बना सकते हैं। SandroProxy समर्थन से

+0

अच्छा एक। यह काम कर रहा है –

2

चार्ल्स प्रॉक्सी एक अच्छा तरीका है।

अन्य में शामिल हैं यदि ऐप सिंगलटन नेटवर्क क्लास (जिसे इसे आदर्श रूप से करना चाहिए) का उपयोग कर रहा है, तो एक फंक्शन बनाने के लिए और एक पोस्ट के लिए करें। इन कार्यों को अपनी कक्षाओं से कॉल करें और कंसोल पर डेटा आउटपुट करने के लिए log.d का उपयोग करें। आप अनुरोध प्रतिक्रिया या समय ले जा सकते हैं।

+1

जैसा कि मैंने कहा, मैं चार्ल्स प्रॉक्सी का उपयोग नहीं कर सकता क्योंकि मुझे इसे ऐप से बनाना है। इसके अलावा, सिंगलटन वर्ग नहीं हो सकता क्योंकि ये कॉल संबंधित एसडीके के – atmaish

+0

द्वारा बनाए जाएंगे चार्ल्स प्रॉक्सी ऐप – Kay

+0

पर कॉन्फ़िगर करने योग्य है, लेकिन मैं यहां क्या चाहता हूं, चार्ल्स प्रॉक्सी (कुछ एसडीके शायद?) का कुछ संस्करण है I मेरे ऐप और जहाज में डाल सकते हैं। मुमकिन? – atmaish

0

आप डिवाइस या डिबग (एडीबी) पर चल जड़ है, तो हो सकता है इस में मदद मिलेगी: http://code.tutsplus.com/tutorials/analyzing-android-network-traffic--mobile-10663

वरना मैं क्या आप क्या करना चाहते करने के लिए यह संभव नहीं लगता। लेकिन आप की तरह सामान्य नेटवर्क सामान की निगरानी कर सकते हैं:

सभी यातायात आँकड़े के लिए देखें:
https://developer.android.com/reference/android/net/TrafficStats.html (सिर्फ आपकी ऐप्लिकेशन प्रयोक्ता आईडी में पारित)

निगरानी नेटवर्क स्थिति के लिए:
https://developer.android.com/reference/android/net/ConnectivityManager.html

1

यदि आप विशेष रूप से HTTP कॉल रिकॉर्ड करने में सक्षम होने के लिए अपने ऐप की तलाश में हैं। Android Snooper लाइब्रेरी वह समाधान हो सकता है जिसे आप ढूंढ रहे हैं।

1

क्या आपने स्टेथो को माना है?

http://facebook.github.io/stetho/

आप पर नजर रखने और अन्य बातों के अलावा सभी आने वाली और बाहर जाने वाले अनुरोधों, संशोधित कर सकते हैं।

0

https://github.com/jgilfelt/chuck/

यह है कि अधिसूचना हर बार किसी नेटवर्क अनुरोध किया जाता है भेजने के एक नए एप्लिकेशन कहते हैं, और आप अनुरोध के विवरण देख सकते हैं।

https://github.com/facebook/stetho

यह आप क्रोम देव उपकरणों का उपयोग करने के लिए एक Android एप्लिकेशन से बनाए गए आपके अनुरोधों की निगरानी के लिए अनुमति देता है।(अन्य शांत सुविधाओं के बीच)

संबंधित मुद्दे