01प्रॉक्सी यूज़रनेम कैसे पढ़ें?
प्रॉक्सी यूज़रनेम सेटिंग्स की एक छोटी स्ट्रिंग है, जिसके हिस्से हाइफ़न से जुड़े होते हैं। यह user से शुरू होती है, फिर नाम और वैल्यू के जोड़े जुड़ते हैं जो बाहर जाने की लोकेशन और IP कितनी देर रहेगा, यह तय करते हैं। हिस्से समझ लेने के बाद आप डैशबोर्ड खोले बिना कोई भी कनेक्शन स्ट्रिंग हाथ से लिख सकते हैं।
country के बाद छोटे अक्षरों में दो अक्षर का देश कोड आता है। user-country-us का मतलब अमेरिका का IP और user-country-jp का मतलब जापान का IP है। city के बाद छोटे अक्षरों में शहर का नाम आता है, खाली जगह की जगह अंडरस्कोर के साथ, जैसे user-country-us-city-new_york।
session के बाद आपका चुना हुआ सेशन नाम आता है। user-country-jp-session-shop1 के साथ, उस नाम वाली हर रिक्वेस्ट 120 मिनट तक वही IP रखती है। मोबाइल IP से बाहर जाने के लिए type-mobile जोड़ें, जैसे user-type-mobile-country-gb।
पासवर्ड वाली जगह हमेशा आपका एक्सेस टोकन जाता है, जो pt_ से शुरू होता है। लोकेशन या सेशन बदलने के लिए सिर्फ यूज़रनेम बदलें और टोकन जैसा है वैसा छोड़ दें।
- user सेटिंग्स की शुरुआत बताता है।
- country और दो अक्षर का कोड देश चुनता है।
- city और अंडरस्कोर वाला नाम शहर चुनता है।
- session और एक नाम वही IP बनाए रखता है।
- type-mobile मोबाइल IP चुनता है।
02HTTP बनाम SOCKS5 प्रॉक्सी: कौन सा इस्तेमाल करें?
वेब स्क्रैपिंग और ब्राउज़र के काम के लिए HTTP प्रॉक्सी आसान डिफ़ॉल्ट हैं, जबकि SOCKS5 प्रॉक्सी गैर वेब ट्रैफ़िक या ऐसे सेटअप के लिए सही हैं जहां आप DNS प्रॉक्सी की तरफ़ हल करवाना चाहते हैं। ProxyToo दोनों को एक ही गेटवे gate.proxytoo.com:7000 पर स्वीकार करता है। वही यूज़रनेम और टोकन रखें और पते की शुरुआत में सिर्फ स्कीम बदलें।
HTTP प्रॉक्सी वेब रिक्वेस्ट के लिए बने थे, इसलिए लगभग हर लाइब्रेरी और ब्राउज़र इन्हें सीधे समझता है। HTTPS साइटें भी चलती हैं, क्योंकि प्रॉक्सी कनेक्शन के लिए एन्क्रिप्टेड टनल खोलता है। requests, Scrapy, Puppeteer और Playwright जैसे वेब टूल के लिए HTTP फ़ॉर्मेट से शुरू करें।
SOCKS5 खुद कनेक्शन को आगे बढ़ाता है, इसलिए यह वेब के अलावा कई तरह का ट्रैफ़िक ले जा सकता है। Python में पते की शुरुआत socks5h से करने पर प्रॉक्सी होस्टनेम बाहर जाने वाले देश में हल करता है, जिससे आपकी लोकेशन एक जैसी रहती है। Chromium आधारित ब्राउज़र यूज़रनेम वाले SOCKS5 को सीमित रूप से समर्थन देते हैं, इसलिए ब्राउज़र ऑटोमेशन के लिए HTTP ज़्यादा सहज विकल्प है।
- वेब स्क्रैपिंग और ब्राउज़र ऑटोमेशन के लिए HTTP
- गैर वेब ट्रैफ़िक भेजने वाले प्रोग्राम के लिए SOCKS5
- प्रॉक्सी वाले देश में DNS हल करने के लिए socks5h पता
- दोनों के लिए वही यूज़रनेम और टोकन
03ब्राउज़र या एंटीडिटेक्ट ब्राउज़र में प्रॉक्सी कैसे जोड़ें?
आम ब्राउज़र में प्रॉक्सी एक्सटेंशन खोलें और अलग-अलग खानों में चार वैल्यू डालें: होस्ट, पोर्ट, यूज़रनेम और टोकन। डैशबोर्ड में कनेक्शन विवरण बनाएं के अंदर host:port:user:pass फ़ॉर्मेट चुनें, चारों वैल्यू एक लाइन में आ जाती हैं, एक-एक खाने में कॉपी करने के लिए तैयार। अगर पहला पेज लोड होने पर लॉगिन विंडो आए, तो वहां यूज़रनेम और टोकन डालें।
एंटीडिटेक्ट ब्राउज़र हर प्रोफ़ाइल को अपना ब्राउज़र माहौल देता है, इसलिए बुनियादी नियम है हर प्रोफ़ाइल के लिए एक यूज़रनेम। प्रोफ़ाइल के प्रॉक्सी खाने में HTTP या SOCKS5 चुनें, फिर यूज़रनेम में सेशन वाला हिस्सा जोड़ें और हर प्रोफ़ाइल का सेशन नाम अलग रखें। तब हर प्रोफ़ाइल को अपना IP मिलता है, और उस प्रोफ़ाइल के अंदर IP वही रहता है।
प्रोफ़ाइल की भाषा, टाइम ज़ोन और लोकेशन चुने गए देश से मिलाएं ताकि पेज वैसे दिखें जैसे लोकल विज़िटर को दिखते हैं। जो प्रोफ़ाइल लंबे समय तक एक अकाउंट चलाती है, उसके लिए ISP प्रॉक्सी या डेडिकेटेड डेटासेंटर प्रॉक्सी पूरी अवधि वही IP रखते हैं। दोनों में से कोई भी डैशबोर्ड में प्रोडक्ट खरीदें के अंदर मात्रा और अवधि चुनकर ऑर्डर करें।
- हर प्रोफ़ाइल के लिए एक सेशन नाम
- भाषा और टाइम ज़ोन IP वाले देश से मेल खाते
- लंबे चलने वाले प्रोफ़ाइल के लिए ISP प्रॉक्सी
- लॉगिन विंडो में यूज़रनेम और टोकन
04Python requests और Scrapy के साथ प्रॉक्सी कैसे इस्तेमाल करें?
Python में प्रॉक्सी को http://username:token@gate.proxytoo.com:7000 जैसी एक लाइन के रूप में बनाएं और लाइब्रेरी की प्रॉक्सी सेटिंग में दें। requests के साथ सबसे अहम कदम है http और https दोनों एंट्री में एक ही पता डालना। दोनों एंट्री भरने से HTTPS रिक्वेस्ट भी प्रॉक्सी से जाती हैं।
requests के Session ऑब्जेक्ट पर प्रॉक्सी एक बार सेट करें, तो उस सेशन की हर रिक्वेस्ट उसे इस्तेमाल करती है। हर रिक्वेस्ट पर नया IP चाहिए तो सिर्फ देश वाला यूज़रनेम, और लॉगिन जैसे आगे बढ़ने वाले काम के लिए सेशन वाले हिस्से वाला यूज़रनेम इस्तेमाल करें। SOCKS5 के लिए requests का SOCKS एक्स्ट्रा इंस्टॉल करें और पते की शुरुआत socks5h कर दें।
Scrapy में उसी तरह का पता हर रिक्वेस्ट की meta proxy वैल्यू में डालें, और बिल्ट इन प्रॉक्सी मिडलवेयर यूज़रनेम और टोकन को खुद पहचान हेडर में बदल देता है। हर रिक्वेस्ट पर एक ही सेटिंग लागू करने के लिए एक छोटा डाउनलोडर मिडलवेयर लिखें जो proxy वैल्यू भर दे। ट्रैफ़िक को सेशन में बांटने के लिए वही मिडलवेयर रिक्वेस्ट के हर बैच को अलग सेशन नाम दे।
CONCURRENT_REQUESTS और DOWNLOAD_DELAY जैसी सेटिंग से एक साथ चलने वाली रिक्वेस्ट और रफ़्तार तय करें। कम से शुरू करें, स्थिर जवाब देखें, फिर रफ़्तार और सफलता में संतुलन के लिए धीरे-धीरे बढ़ाएं। रेज़िडेंशियल प्रॉक्सी का बिल इस्तेमाल हुए ट्रैफ़िक से होता है, इसलिए तस्वीरें और फ़ॉन्ट हटाने से बैलेंस ज़्यादा चलता है।
05Node.js, Puppeteer और Playwright में प्रॉक्सी कैसे सेट करें?
Node.js में आम तरीका है प्रॉक्सी एजेंट बनाकर उसे अपनी रिक्वेस्ट लाइब्रेरी को देना। HTTP के लिए https-proxy-agent या undici का ProxyAgent जैसा पैकेज, और SOCKS5 के लिए socks-proxy-agent इस्तेमाल करें, और यूज़रनेम और टोकन वाला पता दें। एजेंट एक बार बनाएं और रिक्वेस्ट में दोबारा इस्तेमाल करें ताकि कनेक्शन दोबारा काम आएं और तेज़ रहें।
Puppeteer में --proxy-server लॉन्च आर्गुमेंट में सिर्फ गेटवे का पता दें, फिर पेज खोलने के बाद page.authenticate से यूज़रनेम और टोकन अलग से भेजें। Chrome में इन्हें ऐसे बांटना सबसे भरोसेमंद सेटअप है। देश या सेशन बदलने का सबसे आसान रास्ता है नए यूज़रनेम के साथ दूसरा ब्राउज़र खोलना।
Playwright में proxy लॉन्च विकल्प में server, username और password सेट करें, पहचान एक ही कदम में हो जाती है। password वाली जगह आपका एक्सेस टोकन जाता है। आप एक ब्राउज़र खोलकर हर context को उसका अपना प्रॉक्सी भी दे सकते हैं, इसलिए हर context के साथ एक सेशन नाम जोड़ने से एक ही स्क्रिप्ट कई IP साथ-साथ चला सकती है।
ब्राउज़र ऑटोमेशन हर पेज पर तस्वीरें, वीडियो और फ़ॉन्ट डाउनलोड करता है, जिससे काफ़ी ट्रैफ़िक बनता है। रिक्वेस्ट इंटरसेप्शन से गैर ज़रूरी चीज़ें रोकने पर प्रति GB बिल होने वाले रेज़िडेंशियल और मोबाइल प्रॉक्सी का खर्च घटता है। सेशन नाम जोड़ने से पेज लोड होते समय IP स्थिर रहता है, इसलिए पेज ठीक से खुलते हैं।
06रोटेटिंग प्रॉक्सी या स्टिकी सेशन: स्क्रैपिंग के लिए कौन बेहतर?
जिस स्क्रैपिंग में हर पेज अलग से पढ़ा जाता है उसमें हर रिक्वेस्ट पर नया IP, और लॉगिन या कार्ट जैसे आगे बढ़ने वाले काम में सेशन इस्तेमाल करें। सेशन वाले हिस्से के बिना हर रिक्वेस्ट पर IP बदलता है, और उसके साथ उस नाम पर IP वही रहता है। एक ही टोकन दोनों संभालता है, इसलिए आप काम के हर चरण के हिसाब से चुन सकते हैं।
रोटेटिंग मोड उन कामों के लिए सही है जहां पेजों का आपस में कोई संबंध नहीं, जैसे सर्च नतीजे, प्रोडक्ट सूची और कीमत तालिकाएं। रिक्वेस्ट कई IP में बराबर बंटती हैं, इसलिए साइट को ये कई विज़िटर के आम ट्रैफ़िक जैसी लगती हैं। एक ही साइट के बड़े क्रॉल में भी रिक्वेस्ट के बीच अंतर रखने से सब स्थिर रहता है।
सेशन में तरकीब है काम की हर इकाई के लिए अलग सेशन नाम। अगर आप पांच स्टोर अकाउंट जांचते हैं, तो उन्हें shop1 से shop5 तक नाम दें ताकि हर अकाउंट अपना IP रखे। काम को ऐसे छोटे हिस्सों में बांटने से जो सेशन की समय सीमा में पूरे हो जाएं, पूरे काम में एक ही IP रहता है।
अगर पूरे महीने वही IP चाहिए, तो ISP प्रॉक्सी या डेडिकेटेड डेटासेंटर प्रॉक्सी सबसे सही हैं, और कम यूनिट कीमत पर बड़ी मात्रा के लिए शेयर्ड डेटासेंटर प्रॉक्सी या IPv6 प्रॉक्सी अच्छे विकल्प हैं। भारी ट्रैफ़िक वाले उन कामों के लिए जहां मिले-जुले देश चल जाएं, $37.58 प्रति दिन वाले अनलिमिटेड रेज़िडेंशियल प्रॉक्सी खर्च की योजना आसान बनाते हैं।
- अलग-अलग पेजों के लिए हर रिक्वेस्ट पर नया IP
- लॉगिन और चेकआउट के लिए बना रहने वाला सेशन नाम
- काम की हर इकाई के लिए अलग सेशन नाम
- पूरे महीने एक IP के लिए ISP या डेडिकेटेड डेटासेंटर
07प्रॉक्सी IP कैसे जांचें और कनेक्शन एरर कैसे ठीक करें?
सबसे तेज़ जांच है प्रॉक्सी से ऐसे पेज पर रिक्वेस्ट भेजना जो आपका IP दिखाता है, फिर पक्का करना कि IP और देश आपके यूज़रनेम वाले देश से मेल खाते हैं। डैशबोर्ड में कनेक्शन विवरण बनाएं के अंदर curl फ़ॉर्मेट चुनें, आपको टर्मिनल में पेस्ट करने के लिए तैयार जांच कमांड मिल जाती है। अगर आपने सेशन सेट किया है, तो वही कमांड दो-तीन बार भेजकर पक्का करें कि IP बना रहता है।
407 जवाब का मतलब है प्रॉक्सी ने आपकी पहचान स्वीकार नहीं की, और आमतौर पर वजह यूज़रनेम या टोकन का एक अक्षर होता है। जांचें कि टोकन pt_ से शुरू होता है, कॉपी करते समय कोई खाली जगह या नई लाइन साथ नहीं आई, और यूज़रनेम user से शुरू होता है। अगर एक लाइन वाले पते के अंदर खास अक्षर आ जाएं, तो उन्हें URL एनकोड करने से समस्या हल हो जाती है।
403 या 429 जैसे जवाब साइट से आते हैं, यानी प्रॉक्सी कनेक्शन चल गया और साइट रिक्वेस्ट की रफ़्तार या पैटर्न पर नज़र रख रही है। रिक्वेस्ट के बीच अंतर रखें, ब्राउज़र जैसे हेडर भेजें, और सेशन से हटकर हर रिक्वेस्ट पर नए IP पर जाएं।
टाइमआउट अक्सर ऑफ़िस या स्कूल नेटवर्क के गेटवे पोर्ट रोकने, बहुत सीमित शहर टार्गेट, या आपके कोड में छोटे टाइमआउट से आते हैं। वही कमांड दूसरे नेटवर्क से आज़माएं, शहर वाला हिस्सा हटाकर सिर्फ देश टार्गेट करें, और रिक्वेस्ट को लंबा टाइमआउट दें। यह भी जांचें कि बैलेंस बचा है और IP प्रोडक्ट के लिए ऑर्डर मेरे ऑर्डर में इस्तेमाल में दिख रहा है।
- 407 का मतलब यूज़रनेम और टोकन जांचें
- 403 या 429 का मतलब रफ़्तार घटाएं और IP बदलें
- टाइमआउट का मतलब नेटवर्क, शहर और टाइमआउट जांचें
- सेशन जांचने के लिए वही कमांड कुछ बार चलाएं
08प्रॉक्सी एक्सेस टोकन सुरक्षित कैसे रखें?
आपका एक्सेस टोकन आपकी अकाउंट ID भी है और प्रॉक्सी पासवर्ड भी, इसलिए जिसके पास यह है वह आपके बैलेंस पर प्रॉक्सी इस्तेमाल कर सकता है। सर्वर टोकन का सिर्फ हैश रखता है, इसलिए साइन अप के समय सहेजी गई टोकन फ़ाइल ही अकेली असली प्रति है। इसकी कॉपी दो जगह रखें और पासवर्ड मैनेजर में जोड़ें ताकि यह सुरक्षित रहे और आसानी से मिले।
टोकन को अपने कोड से बाहर रखें और उसे एनवायरनमेंट वेरिएबल या अलग कॉन्फ़िग फ़ाइल से लोड करें। उस कॉन्फ़िग फ़ाइल को .gitignore में जोड़ें ताकि वह आपकी रिपॉज़िटरी से बाहर रहे, और साझा सर्वर पर फ़ाइल की अनुमतियां कड़ी करें ताकि सिर्फ आप उसे पढ़ सकें। इस तरह आप कोड साझा कर सकते हैं और टोकन आपकी अपनी मशीन पर रहता है।
अपने लॉग और स्क्रीनशॉट पर भी ध्यान दें। एरर पर पूरा प्रॉक्सी पता प्रिंट करने से टोकन सीधे लॉग में लिख जाता है, इसलिए जब भी पता लॉग करें तो टोकन वाला हिस्सा छिपाएं। सवाल या स्क्रीनशॉट पोस्ट करते समय सिर्फ यूज़रनेम दिखाएं और पहले टोकन हटा दें।
- टोकन फ़ाइल दो जगह सहेजी हुई
- टोकन एनवायरनमेंट वेरिएबल से लोड
- कॉन्फ़िग फ़ाइल रिपॉज़िटरी से बाहर
- लॉग और स्क्रीनशॉट में टोकन छिपा हुआ