आप एक ऐप लॉन्च करते हैं, और यह अप्रत्याशित रूप से व्यवहार करता है: डेटा लोड नहीं हो रहा है, विज्ञापन नहीं दिखाए जा रहे हैं, खाता बिना किसी स्पष्ट कारण के बैन हो रहा है। यह समझने के लिए कि "अंदर क्या हो रहा है", आपको ऐप और सर्वर के बीच वास्तविक HTTP अनुरोधों को देखना होगा। इसी लिए Charles Proxy है — एक उपकरण जो मोबाइल ऐप्स के ट्रैफ़िक को वास्तविक समय में कैप्चर, विश्लेषण और बदलने की अनुमति देता है।
इस गाइड में हम iOS और Android के लिए Charles Proxy की पूर्ण सेटिंग, HTTPS के साथ काम करना, सर्वर के उत्तरों को बदलना और बाहरी प्रॉक्सी सर्वरों के साथ एकीकरण पर चर्चा करेंगे — यह सब बिना किसी अतिरिक्त सिद्धांत के, केवल प्रैक्टिस।
Charles Proxy क्या है और इसकी आवश्यकता क्यों है
Charles Proxy एक डेस्कटॉप एप्लिकेशन है जो Windows, macOS और Linux के लिए उपलब्ध है, जो आपके डिवाइस (स्मार्टफोन, एमुलेटर) और इंटरनेट के बीच एक HTTP/HTTPS प्रॉक्सी के रूप में काम करता है। जब आप ट्रैफ़िक को Charles के माध्यम से निर्देशित करते हैं, तो प्रोग्राम सभी अनुरोधों और उत्तरों को रिकॉर्ड करता है, जिससे आपको हर डेटा बाइट देखने की अनुमति मिलती है जो ऐप सर्वरों पर भेजता है।
मूल रूप से, Charles वही करता है जो Chrome ब्राउज़र में DevTools करता है — केवल मोबाइल ऐप्स के लिए, जिनमें अंतर्निहित निरीक्षक नहीं होता। यह विशेष रूप से महत्वपूर्ण है जब आपको समझना होता है:
- ऐप किस प्रकार के पैरामीटर को प्रमाणीकरण या खाता पंजीकरण के दौरान भेजता है
- कौन से हेडर (यूजर-एजेंट, डिवाइस-आईडी, टोकन) सर्वर पर भेजे जाते हैं
- Facebook, TikTok या Instagram डिवाइस की जांच कैसे करते हैं जब आप लॉगिन करते हैं
- क्यों ऐप कुछ स्थितियों में त्रुटि लौटाता है
- मार्केटप्लेस किस प्रकार के डेटा को मूल्य या कैटलॉग के लिए भेजता है
आर्बिट्रेशन के लिए, Charles Proxy एक खुफिया उपकरण है: आप वास्तव में देख सकते हैं कि Facebook Ads डिवाइस से कौन से फ़िंगरप्रिंट डेटा एकत्र करता है, और यह समझ सकते हैं कि खाता लॉगिन के तुरंत बाद क्यों बैन हो जाता है। SMM विशेषज्ञ Charles का उपयोग Instagram और TikTok के API का विश्लेषण करने के लिए करते हैं ताकि सीमाएँ और अनुरोधों के पैटर्न को समझ सकें। डेवलपर्स और परीक्षक इसका उपयोग सर्वर के उत्तरों की अनुकरण करने और असामान्य परिस्थितियों में ऐप के व्यवहार की जांच करने के लिए करते हैं।
Charles Proxy की प्रमुख विशेषताएँ:
- HTTP और HTTPS ट्रैफ़िक कैप्चर (TLS 1.3 सहित)
- अनुरोधों और उत्तरों के शरीर को सुविधाजनक प्रारूप (JSON, XML, टेक्स्ट) में देखना
- सर्वर के उत्तरों को बदलना (री-राइट, मैप लोकल, मैप रिमोट)
- अनुरोधों को मैन्युअल रूप से संपादित करने के लिए ब्रेकपॉइंट्स
- धीमी इंटरनेट सिमुलेट करने के लिए कनेक्शन को धीमा करना
- सत्रों को रिकॉर्ड और पुनः प्रस्तुत करना
- बाहरी प्रॉक्सी (HTTP, SOCKS5) का समर्थन
Charles Proxy की स्थापना और प्रारंभिक सेटअप
Charles Proxy एक भुगतान किए गए एप्लिकेशन के रूप में 30-दिन के परीक्षण अवधि के साथ वितरित किया जाता है। इसे आधिकारिक वेबसाइट charlesproxy.com से डाउनलोड किया जा सकता है। macOS, Windows और Linux के लिए संस्करण कार्यात्मकता में समान है।
चरण 1. एप्लिकेशन की स्थापना
अपने ऑपरेटिंग सिस्टम के लिए इंस्टॉलर डाउनलोड करें, इसे चलाएँ और स्थापना की मानक प्रक्रिया का पालन करें। Charles को प्रारंभ करते ही यह आपके कंप्यूटर पर 8888 पोर्ट सुनना शुरू कर देता है। यह डिफ़ॉल्ट पोर्ट है, जिसके माध्यम से डिवाइस ट्रैफ़िक को निर्देशित करेंगे।
चरण 2. कंप्यूटर का IP पता जांचना
मोबाइल डिवाइस को Charles से कनेक्ट करने के लिए, इसे उसी Wi-Fi नेटवर्क में होना चाहिए जैसे कंप्यूटर। अपने कंप्यूटर का लोकल नेटवर्क में IP पता जानें:
- macOS: सिस्टम सेटिंग्स → नेटवर्क → Wi-Fi चुनें → IP पता
- Windows: कमांड प्रॉम्प्ट →
ipconfig→ IPv4 पता - Charles में: हेल्प → लोकल IP पता
इस पते को याद रखें — इसकी आवश्यकता स्मार्टफोन पर प्रॉक्सी सेटअप करते समय होगी। आमतौर पर यह कुछ इस तरह होता है 192.168.1.X।
चरण 3. डिवाइस से कनेक्शन की अनुमति देना
जब मोबाइल डिवाइस पहली बार कनेक्ट होता है, तो Charles एक संवाद बॉक्स दिखाएगा जिसमें पूछा जाएगा: "क्या IP xxx.xxx.x.x से कनेक्शन की अनुमति दें?" Allow पर क्लिक करें। यदि यह विंडो नहीं खुली है — सुनिश्चित करें कि Windows या macOS फ़ायरवॉल Charles को ब्लॉक नहीं कर रहा है। macOS पर, सिस्टम सेटिंग्स → सुरक्षा → फ़ायरवॉल में इनकमिंग कनेक्शनों की अनुमति देना आवश्यक हो सकता है।
Android के लिए Charles Proxy सेटअप
Android पर सेटअप दो भागों में होता है: ट्रैफ़िक को Charles के माध्यम से निर्देशित करना और HTTPS को डिक्रिप्ट करने के लिए प्रमाणपत्र स्थापित करना। बिना प्रमाणपत्र के, आप केवल एन्क्रिप्टेड डेटा देखेंगे — जो बेकार के प्रतीकों का एक सेट है।
Android पर Wi-Fi प्रॉक्सी सेटअप
- सेटिंग्स → Wi-Fi खोलें
- कनेक्टेड नेटवर्क पर क्लिक करें और उसे दबाए रखें → नेटवर्क बदलें
- अतिरिक्त विकल्प चालू करें
- प्रॉक्सी के क्षेत्र में हाथ से चुनें
- प्रॉक्सी होस्ट: आपके कंप्यूटर का IP पता (जैसे,
192.168.1.5) - पोर्ट:
8888 - सेटिंग्स सहेजें
इसके बाद, डिवाइस से सभी HTTP ट्रैफ़िक Charles के माध्यम से जाएगा। ऐप के स्क्रीन पर अनुरोधों के रिकॉर्ड दिखाई देने लगेंगे।
Android पर Charles प्रमाणपत्र स्थापित करना
- डिवाइस पर ब्राउज़र खोलें और
chls.pro/sslपर जाएं - प्रमाणपत्र फ़ाइल .pem डाउनलोड होगी
- सेटिंग्स → सुरक्षा → प्रमाणपत्र स्थापित करें खोलें
- डाउनलोड की गई फ़ाइल चुनें और CA प्रमाणपत्र के रूप में स्थापित करें
- कोई भी नाम दें, जैसे "Charles SSL"
Android 7 और उसके बाद के संस्करणों में, ऐप्स डिफ़ॉल्ट रूप से कस्टम प्रमाणपत्रों पर भरोसा नहीं करते हैं। इसका मतलब है कि सिस्टम ऐप्स और अधिकांश तृतीय-पक्ष ऐप्स (Facebook, Instagram, TikTok) कैप्चर को ब्लॉक करेंगे। ऐसे ऐप्स के साथ काम करने के लिए या तो रूट एक्सेस की आवश्यकता होगी या Android एमुलेटर (जैसे, Genymotion या Android Studio Emulator) का उपयोग करना होगा जिसमें सिस्टम स्टोरेज में प्रमाणपत्र स्थापित करने की क्षमता हो।
⚠️ Android 7+ के लिए महत्वपूर्ण
Android 7 (Nougat) से शुरू होकर, ऐप्स को कस्टम प्रमाणपत्रों पर भरोसा करने की स्पष्ट घोषणा करनी चाहिए network_security_config.xml फ़ाइल में। अधिकांश लोकप्रिय ऐप्स (Facebook Ads, Instagram) ऐसा नहीं करते हैं। उनके विश्लेषण के लिए रूट के साथ एमुलेटर या संशोधित Android बिल्ड का उपयोग करें।
iOS के लिए Charles Proxy सेटअप
iOS पर प्रक्रिया थोड़ी सरल है — Apple प्रोफाइल के माध्यम से प्रमाणपत्र स्थापित करने के लिए एक मानक तंत्र प्रदान करता है, और अधिकांश ऐप सिस्टम प्रॉक्सी सेटिंग्स का सम्मान करते हैं।
iPhone/iPad पर Wi-Fi प्रॉक्सी सेटअप
- सेटिंग्स → Wi-Fi खोलें
- कनेक्टेड नेटवर्क के बगल में (i) आइकन पर क्लिक करें
- HTTP प्रॉक्सी अनुभाग तक स्क्रॉल करें
- हाथ से चुनें
- सर्वर: Charles के साथ कंप्यूटर का IP पता
- पोर्ट:
8888 - प्रमाणीकरण: बंद (यदि Charles में सेट नहीं किया गया है)
iOS पर Charles प्रमाणपत्र स्थापित करना
- iPhone पर Safari ब्राउज़र खोलें और
chls.pro/sslपर जाएं - Safari कॉन्फ़िगरेशन प्रोफ़ाइल स्थापित करने का सुझाव देगा — अनुमति दें पर क्लिक करें
- सेटिंग्स → सामान्य → VPN और डिवाइस प्रबंधन पर जाएं
- Charles प्रोफ़ाइल खोजें और स्थापित करें पर क्लिक करें
- यदि आवश्यक हो, तो डिवाइस का पिन कोड दर्ज करें
- अब सेटिंग्स → सामान्य → इस डिवाइस के बारे में → प्रमाणपत्रों पर भरोसा करें पर जाएं
- Charles Proxy CA के बगल में स्विच चालू करें
इसके बाद, Charles अधिकांश iOS ऐप्स के HTTPS ट्रैफ़िक को डिक्रिप्ट कर सकेगा। अपवाद उन ऐप्स का है जिनमें सर्टिफिकेट पिनिंग (प्रमाणपत्र को स्थिर करना) चालू है — जैसे कि बैंकिंग ऐप्स और कुछ Instagram के संस्करण। उनके विश्लेषण के लिए जेलब्रेक और विशेष ट्विक्स जैसे SSL किल स्विच की आवश्यकता होगी।
HTTPS ट्रैफ़िक कैप्चर: SSL प्रॉक्सींग सेटअप
प्रमाणपत्र स्थापित करने के बाद भी, Charles डिफ़ॉल्ट रूप से HTTPS ट्रैफ़िक को डिक्रिप्ट नहीं करता है — आपको स्पष्ट रूप से यह बताना होगा कि किस डोमेन के लिए SSL प्रॉक्सींग सक्षम करनी है। यह जानबूझकर किया गया है ताकि इंटरफ़ेस को अतिरिक्त डेटा से अधिभारित न किया जाए।
SSL प्रॉक्सींग कैसे सक्षम करें
- Charles मेनू में Proxy → SSL Proxying Settings चुनें
- Enable SSL Proxying के बगल में चेक मार्क लगाएं
- Include अनुभाग में Add पर क्लिक करें
- Host क्षेत्र में
*(तारे = सभी डोमेन) दर्ज करें - Port क्षेत्र में
443दर्ज करें - OK पर क्लिक करें और कैप्चर को पुनः प्रारंभ करें
अब Charles सभी डोमेन के लिए HTTPS ट्रैफ़िक को डिक्रिप्ट करेगा। यदि आप किसी विशेष सेवा में रुचि रखते हैं — तारे के बजाय उसके डोमेन को निर्दिष्ट करें। उदाहरण के लिए, Instagram का विश्लेषण करने के लिए *.instagram.com दर्ज करें, Facebook के लिए — *.facebook.com।
SSL प्रॉक्सींग सक्षम करने के बाद क्या दिखाई देता है
Charles के बाईं पैनल में आप डोमेन का एक पेड़ देखेंगे। किसी भी अनुरोध पर क्लिक करें — दाईं ओर विस्तृत जानकारी खुल जाएगी: URL, विधि (GET/POST), अनुरोध के हेडर, अनुरोध का शरीर (यदि कोई हो) और सर्वर का उत्तर। Request और Response टैब कच्चे रूप में या सुविधाजनक स्वरूपित रूप में (JSON, XML, HTML) डेटा दिखाते हैं।
विशेष रूप से अनुरोध के हेडर मूल्यवान होते हैं — वहीं प्रमाणीकरण टोकन, डिवाइस पहचानकर्ता, ऐप का संस्करण और अन्य डेटा होते हैं, जिनका प्लेटफार्मों द्वारा सत्यापन के लिए उपयोग किया जाता है। यदि आप Facebook Ads या TikTok के अनुरोधों में संदिग्ध पैरामीटर देखते हैं — तो यह समझने का पहला कदम है कि खाता बैन क्यों हो रहा है।
विश्लेषण उपकरण: ब्रेकपॉइंट्स, री-राइट और मैप लोकल
Charles केवल ट्रैफ़िक देखने वाला नहीं है, बल्कि इसे संशोधित करने के लिए एक शक्तिशाली उपकरण भी है। तीन प्रमुख उपकरण हैं, जो सबसे अधिक उपयोग किए जाते हैं:
ब्रेकपॉइंट्स — रोकने के बिंदु
ब्रेकपॉइंट्स आपको अनुरोध या उत्तर को उसके पारित होने के क्षण में पकड़ने और डेटा को मैन्युअल रूप से संपादित करने की अनुमति देते हैं, इससे पहले कि वे प्राप्तकर्ता तक पहुँचें। यह परीक्षण के लिए एक शक्तिशाली उपकरण है: आप अनुरोध के पैरामीटर को बदल सकते हैं, एक अन्य टोकन डाल सकते हैं या सर्वर के उत्तर को संशोधित कर सकते हैं।
ब्रेकपॉइंट स्थापित करने के लिए: सूची में अनुरोध पर राइट-क्लिक करें → Breakpoint चुनें। अब जब ऐप अगली बार इस URL को कॉल करेगा, तो Charles ट्रांसमिशन को रोक देगा और संपादन विंडो खोलेगा। आप किसी भी पैरामीटर को बदल सकते हैं और जारी रखने के लिए Execute पर क्लिक कर सकते हैं।
री-राइट — डेटा का स्वचालित प्रतिस्थापन
री-राइट स्वचालित रूप से काम करता है: आप नियम सेट करते हैं "यदि अनुरोध में X है — Y में बदलें", और Charles इसे सभी उपयुक्त अनुरोधों पर आपके हस्तक्षेप के बिना लागू करता है। यह सामूहिक परीक्षण के लिए सुविधाजनक है: उदाहरण के लिए, सभी अनुरोधों में एक विशेष हेडर के मान को बदलना।
सेटअप: Tools → Rewrite → Add → नियम सेट का नाम दें → नियम जोड़ें → प्रकार (हेडर, बॉडी, URL आदि), क्या खोजना है और किस पर बदलना है, निर्दिष्ट करें।
मैप लोकल — स्थानीय फ़ाइल के साथ उत्तर का प्रतिस्थापन
मैप लोकल आपको सर्वर के उत्तर को स्थानीय फ़ाइल की सामग्री से बदलने की अनुमति देता है। यह बिना वास्तविक बैकएंड के ऐप्स का परीक्षण करने के लिए अनिवार्य है: आप आवश्यक डेटा के साथ एक JSON फ़ाइल बनाते हैं, और ऐप उन्हें वास्तविक API उत्तर के बजाय प्राप्त करता है।
सेटअप: Tools → Map Local → Add → कैप्चर करने के लिए URL और स्थानीय फ़ाइल का पथ निर्दिष्ट करें। अब इस URL के लिए प्रत्येक अनुरोध आपकी फ़ाइल की सामग्री लौटाएगा। यह सीमांत मामलों का परीक्षण करने की अनुमति देता है: खाली उत्पाद सूची, सर्वर त्रुटि 500, असामान्य डेटा प्रारूप।
| उपकरण | कब उपयोग करें | जटिलता |
|---|---|---|
| ब्रेकपॉइंट्स | एक बार मैन्युअल रूप से अनुरोध/उत्तर को संपादित करना | कम |
| री-राइट | नियमों के अनुसार स्वचालित प्रतिस्थापन | मध्यम |
| मैप लोकल | API उत्तर को स्थानीय फ़ाइल से बदलना | कम |
| मैप रिमोट | अन्य सर्वर पर अनुरोध को पुनः निर्देशित करना | मध्यम |
| थ्रॉटल | धीमे कनेक्शन का अनुकरण करना | कम |
Charles के माध्यम से बाहरी प्रॉक्सी सर्वर कैसे कनेक्ट करें
Charles Proxy केवल एक स्थानीय कैप्चर के रूप में काम नहीं कर सकता, बल्कि यह डिवाइस और बाहरी प्रॉक्सी सर्वर के बीच एक मध्यवर्ती लिंक के रूप में भी कार्य कर सकता है। यह विशेष रूप से उपयोगी है जब आपको एक साथ ट्रैफ़िक का विश्लेषण करना और इसे एक विशिष्ट IP पते के माध्यम से निर्देशित करना हो — उदाहरण के लिए, यह जांचने के लिए कि ऐप दूसरे देश से कनेक्ट करते समय कैसे व्यवहार करता है या मोबाइल IP के माध्यम से।
यह योजना इस प्रकार है: स्मार्टफोन → Charles Proxy (कंप्यूटर) → बाहरी प्रॉक्सी सर्वर → इंटरनेट. आप Charles में सभी ट्रैफ़िक देख सकते हैं, लेकिन अनुरोध आवश्यक IP के माध्यम से भेजे जाते हैं।
Charles में बाहरी प्रॉक्सी सेटअप
- Proxy → External Proxy Settings खोलें
- Use external proxy servers के बगल में चेक मार्क लगाएं
- HTTP ट्रैफ़िक के लिए: Web Proxy (HTTP) चालू करें, प्रॉक्सी का होस्ट और पोर्ट दर्ज करें
- HTTPS ट्रैफ़िक के लिए: Secure Web Proxy (HTTPS) चालू करें, वही डेटा दर्ज करें
- यदि प्रॉक्सी प्रमाणीकरण की आवश्यकता है — लॉगिन और पासवर्ड दर्ज करें
- OK पर क्लिक करें
Charles HTTP और SOCKS5 प्रॉक्सी का समर्थन करता है। SOCKS5 के लिए, उसी सेटिंग्स में SOCKS Proxy टैब का उपयोग करें। यदि आप रहवासी प्रॉक्सी के साथ IP रोटेशन के साथ काम कर रहे हैं — प्रत्येक नया अनुरोध एक अलग पते के माध्यम से जाएगा, जो प्लेटफार्मों के व्यवहार का परीक्षण करने के लिए सुविधाजनक है।
स्थानीय ट्रैफ़िक के लिए अपवाद
यदि आपको कुछ ट्रैफ़िक को सीधे (बिना बाहरी प्रॉक्सी के) भेजना है, तो Bypass external proxies for the following hosts क्षेत्र में अपवाद जोड़ें। उदाहरण के लिए, स्थानीय पते localhost और 127.0.0.1 को आमतौर पर बाहर करना चाहिए, ताकि स्थानीय सेवाओं को बाधित न किया जा सके।
जब Charles में बाहरी प्रॉक्सी की आवश्यकता होती है:
- ऐप के भू-स्थान परीक्षण (यह अमेरिका, जर्मनी, ब्राज़ील से कैसे व्यवहार करता है)
- विभिन्न क्षेत्रों में सामग्री की उपलब्धता की जांच
- मोबाइल प्रॉक्सी के माध्यम से काम करते समय अनुरोधों का विश्लेषण — यह समझने के लिए कि प्लेटफार्म मोबाइल IP पर कैसे प्रतिक्रिया करता है
- परीक्षण के दौरान क्षेत्रीय प्रतिबंधों को बायपास करना
व्यावहारिक परिदृश्य: आर्बिट्रेशन, SMM और ऐप परीक्षण
चलिए कुछ विशिष्ट कार्यों पर विचार करते हैं, जिनके लिए Charles Proxy का वास्तविक कार्य में उपयोग किया जाता है — बिना किसी अतिरिक्त सिद्धांत के।
परिदृश्य 1. आर्बिट्रेशन — Facebook Ads के फ़िंगरप्रिंट का विश्लेषण
एक आर्बिट्रेशनर का एक प्रमुख कार्य यह समझना है कि Facebook खाते को लॉगिन के तुरंत बाद क्यों बैन करता है। Charles आपको Facebook ऐप के पहले अनुरोधों को प्रमाणीकरण के दौरान कैप्चर करने की अनुमति देता है और यह देखने की अनुमति देता है कि डिवाइस के बारे में कौन से डेटा Meta के सर्वरों पर भेजे जा रहे हैं।
graph.facebook.com पर अनुरोधों में आप पैरामीटर देखेंगे जैसे device_id, hardware_id, advertiser_id और अन्य पहचानकर्ता। यह समझने में मदद करेगा कि कौन से डेटा को कई खातों के साथ काम करते समय एंटी-डिटेक्ट ब्राउज़रों जैसे Dolphin Anty या AdsPower में अलग करना है।
यह भी उपयोगी है कि बैन के समय सर्वर के उत्तर को कैप्चर करें — इसमें आमतौर पर त्रुटि कोड और कभी-कभी ब्लॉकिंग का कारण होता है, जिसे Facebook ऐप के इंटरफ़ेस में नहीं दिखाता।
परिदृश्य 2. SMM — Instagram और TikTok के API का अध्ययन
SMM विशेषज्ञ, जो 10-50 क्लाइंट खातों का प्रबंधन करते हैं, अक्सर प्लेटफार्मों की सीमाओं का सामना करते हैं: Instagram प्रति घंटे लाइक्स, फॉलोइंग और टिप्पणियों की संख्या सीमित करता है। Charles इन सीमाओं को सटीक रूप से मापने की अनुमति देता है, जब आप मैन्युअल रूप से खाते के साथ काम करते हैं तो अनुरोधों को कैप्चर करके।
i.instagram.com पर अनुरोधों को कैप्चर करके, आप API की संरचना देखेंगे: एंडपॉइंट्स, पैरामीटर, प्रमाणीकरण टोकन। यह स्वचालन को इस तरह से सेट करने में मदद करता है कि यह वास्तविक उपयोगकर्ता के व्यवहार की नकल करे और ब्लॉकिंग में न आए। TikTok के साथ भी यही काम करता है — api16-normal-c-useast1a.tiktokv.com पर अनुरोधों का विश्लेषण यह दिखाता है कि प्लेटफार्म कौन से पैरामीटर की जांच करता है।
परिदृश्य 3. ई-कॉमर्स — मार्केटप्लेस के API का विश्लेषण
Wildberries, Ozon और Avito पर विक्रेता प्रतिस्पर्धियों की कीमतों की निगरानी का सक्रिय रूप से उपयोग करते हैं। Charles मोबाइल मार्केटप्लेस ऐप के अनुरोधों को कैप्चर करने और यह देखने की अनुमति देता है कि कीमतों और स्टॉक्स के डेटा को कौन से एंडपॉइंट्स के माध्यम से लोड किया जा रहा है। यह एक पार्सर सेट करने में मदद करता है, जो मोबाइल ऐप के व्यवहार की नकल करता है — ऐसे अनुरोध ब्राउज़र पार्सर के अनुरोधों की तुलना में बहुत अधिक आसानी से गुजरते हैं।
उदाहरण के लिए, Wildberries ऐप में आप catalog.wb.ru पर अनुरोधों को कैप्चर कर सकते हैं और फ़िल्टरिंग और पेजिनेशन के पैरामीटर की सटीक संरचना देख सकते हैं। यह एक तैयार टेम्पलेट देता है जो पार्सर बनाने के लिए होगा, जो सुरक्षा को काफी अधिक प्रभावी ढंग से बायपास करेगा, बजाय इसके कि ब्राउज़र अनुरोधों को फिर से बनाने की कोशिश करें। इस दौरान स्थिर पार्सिंग के लिए डेटा सेंटर प्रॉक्सी की आवश्यकता होगी, जो उच्च गति और कनेक्शन की स्थिरता प्रदान करती है।
परिदृश्य 4. मोबाइल ऐप्स का QA परीक्षण
परीक्षक Charles का उपयोग असामान्य परिस्थितियों में ऐप के व्यवहार की जांच के लिए करते हैं। Map Local का उपयोग करके आप सर्वर के उत्तर को त्रुटि 500 में बदल सकते हैं और देख सकते हैं कि ऐप बैकएंड विफलता को कैसे संभालता है। Throttle धीमी इंटरनेट (3G, Edge) का अनुकरण करने की अनुमति देता है और यह जांचता है कि क्या ऐप लंबे लोडिंग के दौरान फ्रीज हो जाता है। ब्रेकपॉइंट्स आपको डेटा को मैन्युअल रूप से बदलने और सीमांत मामलों की जांच करने की अनुमति देते हैं — उदाहरण के लिए, यह देखने के लिए कि क्या होगा यदि सर्वर उत्पादों की सूची के बजाय एक खाली एरे लौटाता है।
आम समस्याएँ और उनके समाधान
Charles Proxy के साथ काम करते समय, नए उपयोगकर्ता नियमित रूप से एक ही समस्याओं का सामना करते हैं। चलिए सबसे सामान्य समस्याओं पर चर्चा करते हैं।
समस्या 1: Charles HTTPS अनुरोधों की सामग्री के बजाय "unknown" दिखाता है
कारण: SSL प्रॉक्सींग सक्षम नहीं है या डिवाइस पर प्रमाणपत्र स्थापित नहीं है।
समाधान: सुनिश्चित करें कि Proxy → SSL Proxying Settings में SSL प्रॉक्सींग सक्षम है और होस्ट *:443 जोड़ा गया है। सुनिश्चित करें कि Charles का प्रमाणपत्र डिवाइस पर स्थापित है और इसके लिए पूर्ण विश्वास सक्षम है (iOS पर — प्रमाणपत्रों पर विश्वास सेटिंग्स के माध्यम से)।
समस्या 2: ट्रैफ़िक कैप्चर नहीं हो रहा है, अनुरोधों की सूची खाली है
कारण: डिवाइस ट्रैफ़िक को Charles के माध्यम से निर्देशित नहीं कर रहा है, या Charles कनेक्शन स्वीकार नहीं कर रहा है।
समाधान: सुनिश्चित करें कि डिवाइस और कंप्यूटर एक ही Wi-Fi नेटवर्क पर हैं। सुनिश्चित करें कि डिवाइस पर प्रॉक्सी सेटिंग्स में सही IP और पोर्ट 8888 निर्दिष्ट है। सुनिश्चित करें कि Charles कैप्चर मोड में है: Proxy → Start Recording (या टूलबार में लाल बिंदु वाला बटन)।
समस्या 3: Charles चालू होने पर ऐप काम नहीं कर रहा है
कारण: ऐप प्रमाणपत्र पिनिंग का उपयोग करता है — यह केवल विश्वास श्रृंखला की जांच नहीं करता है, बल्कि सर्वर के विशिष्ट प्रमाणपत्र की भी जांच करता है। Charles का प्रमाणपत्र अपेक्षित के साथ मेल नहीं खाता।
Android के लिए रूट के साथ समाधान: Magisk मॉड्यूल TrustUserCerts स्थापित करें या SSL पिनिंग को बायपास करने के लिए Frida का उपयोग करें। iOS के लिए जेलब्रेक — SSL किल स्विच 2। बिना रूट/जेलब्रेक के प्रमाणपत्र पिनिंग को बायपास करना बेहद कठिन है।
समस्या 4: Charles बहुत अधिक ट्रैफ़िक कैप्चर करता है, इंटरफ़ेस धीमा हो जाता है
कारण: डिवाइस पर सभी ऐप्स से सभी ट्रैफ़िक रिकॉर्ड किया जा रहा है, जिसमें सिस्टम सेवाएँ भी शामिल हैं।
समाधान: फ़िल्टरिंग का उपयोग करें। फ़िल्टर क्षेत्र (बाईं पैनल के नीचे) में उस सेवा के डोमेन को दर्ज करें। या Proxy → Access Control Settings में एक्सेस नियंत्रण सेट करें, ताकि Charles केवल विशिष्ट ऐप्स से कनेक्शन स्वीकार करे, Proxy → Recording Settings → Include/Exclude के माध्यम से।
समस्या 5: Charles बंद करने के बाद इंटरनेट काम नहीं कर रहा है
कारण: मोबाइल डिवाइस पर प्रॉक्सी सेटिंग्स बनी हुई हैं, लेकिन Charles अब चालू नहीं है — ट्रैफ़िक को कहीं नहीं भेजा जा रहा है।
समाधान: हमेशा Charles के साथ काम करने के बाद डिवाइस पर प्रॉक्सी सेटिंग्स को हटा दें। Wi-Fi सेटिंग्स में प्रॉक्सी विकल्प को "कोई नहीं" या "बंद" पर वापस करें।
| समस्या | तेज समाधान |
|---|---|
| HTTPS "unknown" दिखा रहा है | SSL प्रॉक्सींग सक्षम करें + प्रमाणपत्र स्थापित करें |
| अनुरोधों की सूची खाली है | IP, पोर्ट और यह सुनिश्चित करें कि Charles रिकॉर्डिंग मोड में है |
| ऐप नहीं खुलता | प्रमाणपत्र पिनिंग — रूट/जेलब्रेक की आवश्यकता है |
| इंटरफ़ेस धीमा हो रहा है | फ़िल्टर में डोमेन जोड़ें |
| बंद करने के बाद इंटरनेट नहीं है | डिवाइस पर प्रॉक्सी सेटिंग्स हटाएं |
निष्कर्ष
Charles Proxy उन सभी के लिए सबसे उपयोगी उपकरणों में से एक है जो मोबाइल ऐप्स के साथ काम करते हैं: चाहे वह एक आर्बिट्रेशनर हो, जो Facebook Ads के सत्यापन तंत्र को समझना चाहता है, SMM विशेषज्ञ, जो Instagram के API का अध्ययन कर रहा है, या डेवलपर, जो अपने ऐप के व्यवहार का परीक्षण असामान्य परिस्थितियों में कर रहा है। स्थापना में 15-20 मिनट लगते हैं, और सेटअप के बाद जो संभावनाएँ खुलती हैं, उन्हें अधिकतर नहीं आंका जा सकता।
मुख्य बात जो आपको याद रखनी चाहिए: Charles एक विश्लेषण और डिबगिंग उपकरण है, न कि गुमनामी का। कई खातों के साथ काम करने, विभिन्न भू-स्थान से परीक्षण करने या प्लेटफार्मों की सीमाओं को बायपास करने के लिए एक अलग सुरक्षा स्तर की आवश्यकता होती है — वास्तविक IP पतों के साथ प्रॉक्सी सर्वर।
यदि आप आर्बिट्रेशन या सोशल मीडिया खातों के साथ काम करने के लिए मोबाइल ऐप्स के ट्रैफ़िक का विश्लेषण कर रहे हैं, तो हम Charles को रहवासी प्रॉक्सी के साथ संयोजित करने की सिफारिश करते हैं — वे घरेलू उपयोगकर्ताओं के वास्तविक IP प्रदान करते हैं, जो परीक्षण और खातों के साथ काम करते समय ब्लॉकिंग के जोखिम को कम करता है। उन कार्यों के लिए जहां उच्च गति और स्थिरता महत्वपूर्ण है — जैसे मार्केटप्लेस API का बड़े पैमाने पर पार्सिंग — उच्च अपटाइम के साथ डेटा सेंटर प्रॉक्सी उपयुक्त हैं।
```