2010-08-07 15 views
5

में अलग-अलग आउटबाउंड आईपी का उपयोग करना हमारे पास एक ही सर्वर पर चल रही कुछ अलग-अलग वेबसाइटें हैं जो सभी 1 विशेष वेब सेवा तक पहुंचती हैं जिनमें प्रत्येक की अपनी अनूठी एपीआई कुंजी होती है। दुर्भाग्यवश वेब सेवा में आईपी एड्रेस (एपीआई कुंजी नहीं) के आधार पर दैनिक सीमा है, जबकि हमारी प्रत्येक साइट अपनी दैनिक सीमा के तहत है, संयुक्त रूप से वे आईपी सीमा से अधिक हैं। जब एक वेब ब्राउज़र के माध्यम से पहुंचाया जाता है तो प्रत्येक वेबसाइट एक अलग स्थैतिक आईपी पते पर चलती है, हालांकि जब प्रत्येक वेबसाइट उपयोगकर्ता खाते के अंतर्गत पर्ल स्क्रिप्ट चलाए जाते हैं तो उनका आउटबाउंड आईपी पता समान होता है।पर्ल

मेरा प्रश्न यह है कि मैं इसे कैसे बना सकता हूं ताकि प्रत्येक perl स्क्रिप्ट किसी विशेष साइट के सही आईपी पते का उपयोग करे ताकि प्रत्येक व्यक्ति वेब सेवा की दैनिक सीमा के भीतर रह सके? अधिक सरलता से, एक पर्ल स्क्रिप्ट एलडब्लूपी पर्ल मॉड्यूल का उपयोग कर कॉल के आउटबाउंड आईपी पते को कैसे बदल सकती है? स्पष्टीकरण बहुत अच्छे हैं लेकिन कोड उदाहरण भी बेहतर होंगे।

आपकी मदद के लिए अग्रिम धन्यवाद!

+0

इस सवाल साइट की सुरक्षा तंत्र को दरकिनार, और एक आईपी पते स्पूफिंग के बारे में है। जो मैं पढ़ रहा हूं उससे साइट के पास एक अलग आईपी पता नहीं है। – xenoterracide

+0

@Xeno: उन्होंने निर्दिष्ट किया "प्रत्येक वेबसाइट एक अलग स्थिर आईपी पते पर चलती है"। –

+0

@Jim ओह मैंने गलत पढ़ा है ... – xenoterracide

उत्तर

9

LWP::UserAgent का उपयोग करते हुए आप बस जो IP पता बाहर जाने वाले कनेक्शन के लिए करना चाहते हैं या '' local_address '' विधि का उपयोग कर सकते हैं:

my $ua = new LWP::UserAgent; 
$ua->local_address("10.10.10.10"); 
my $response = $ua->get("http://stackoverflow.com/"); 
+3

आप यूए कन्स्ट्रक्टर के पैरामीटर के रूप में 'local_address' भी पास कर सकते हैं। (ध्यान दें: आपको 'LWP :: UserAgent-> new'' new LWP :: UserAgent' के बजाय उपयोग करना चाहिए। अप्रत्यक्ष ऑब्जेक्ट सिंटैक्स सबसे अच्छा बचा है।) – cjm

+0

एक आकर्षण की तरह काम किया। धन्यवाद दोस्तों! –

+0

क्या होगा यदि कोई स्थानीय पता निर्दिष्ट नहीं है? यदि एकाधिक पते हैं तो एलडब्ल्यूपी एक पता कैसे चुनता है? क्या यह एक यादृच्छिक चयन, गोल रॉबिन, आदि है? – MadHacker