2013-08-21 5 views
5

मैं रूबी/मैकेनाइजेशन का उपयोग कर "स्वचालित रूप से फॉर्म भरें" ऐप लिख रहा हूं। यह लगभग काम करता है।चार्ल्स वेब प्रॉक्सी के माध्यम से काम करने के लिए मैं रूबी मैकेनाइज एजेंट को कैसे कॉन्फ़िगर कर सकता हूं?

मैं सर्वर और मेरे फ़ायरफ़ॉक्स ब्राउज़र के बीच विनिमय देखने के लिए अद्भुत Charles वेब प्रॉक्सी का उपयोग कर सकता हूं। अब मैं सर्वर और मेरे ऐप के बीच एक्सचेंज देखने के लिए चार्ल्स का उपयोग करना चाहता हूं।

पोर्ट 8888 पर चार्ल्स प्रॉक्सी। मान लें कि सर्वर https://my.host.com पर है। एक बात वह काम नहीं करता है:

@agent ||= Mechanize.new do |agent| 
    agent.set_proxy("my.host.com", 8888) 
end 

यह एक Net::HTTP::Persistent::Error में परिणाम:

...lib/net/http/persistent.rb:579:in `rescue in connection_for': connection refused: my.host.com:8888 (Net::HTTP::Persistent::Error) 

तो या तो मैं agent.set_proxy(host, ...) को गलत मेजबान तर्क दे रही हूँ, या मैं चार्ल्स ठीक से विन्यस्त नहीं किया है। (एफडब्ल्यूआईडब्ल्यू, मैं ऐसा करने में सक्षम था, लेकिन मैकेनाइज और चार्ल्स दोनों ने उन हेलिसियन दिनों से कई पीढ़ियों को परिपक्व किया है ...)

कोई विचार?

उत्तर

10

एक वेब प्रॉक्सी आमतौर पर द्वारा पोर्ट द्वारा परिभाषित नहीं किया जाता है, लेकिन आमतौर पर एक पूर्ण होस्ट नाम होता है। स्थानीयहोस्ट पर चार्ल्स बहुत स्थापित है। इसलिए निम्नलिखित समायोजन आपके लिए काम कर सकता है:

@agent ||= Mechanize.new do |agent| 
    agent.set_proxy("localhost", 8888) 
end 
+3

रिकॉर्ड के लिए 'टैप' अनावश्यक है, मैकेनाइज.न्यू खुद को ब्लॉक में पैदा करता है। – pguardiario

+0

धन्यवाद - मुझे एहसास होना चाहिए था कि लोकलहोस्ट सही बात थी। यह लगभग काम करता है - अब मुझे बस इतना करना है कि मेरा 'प्रमाण पत्र सत्यापित विफल हुआ' त्रुटियों का ख्याल रखा गया है। अलग समस्या ... –

+0

@ पगार्डियारियो: टिप के लिए धन्यवाद। तदनुसार ओपी (और मेरा स्रोत कोड) संपादित किया। –

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

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