का उपयोग कर किसी भी HTTPS साइट से कनेक्ट नहीं कर सकता हूं, मैं एक ऐसी स्क्रिप्ट बनाने की कोशिश कर रहा हूं जो बस किसी वेबसाइट से कनेक्ट हो। हालांकि, किसी कारण से यह HTTPS का उपयोग कर रहे किसी भी चीज़ से कनेक्ट नहीं होगा।मैं LWP :: UserAgent
हमारे यहां एक प्रॉक्सी सक्षम है। हालांकि, मेरा मानना है कि प्रॉक्सी समस्या नहीं है, क्योंकि अगर मैं नेटवर्क के अंदर एक HTTPS से कनेक्ट करना चाहता था जो प्रॉक्सी के माध्यम से सुरंग नहीं करता है तो यह अभी भी विफल रहता है।
यदि मैं इस प्रोग्राम को किसी भी साइट पर चलाने के लिए चला रहा था जो HTTPS का उपयोग नहीं कर रहा है, तो मैं प्राप्त कर सकता हूं और स्क्रिप्ट इरादे के अनुसार काम कर सकती है।
मैं क्या सोच रहा हूं कि किसी भी एसएसएल सुरक्षित साइटों से कनेक्ट होने से स्क्रिप्ट को अवरुद्ध करके क्या संभव हो सकता है।
$ENV{HTTPS_DEBUG} = 1;
my $ua = LWP::UserAgent->new(keep_alive => 1);
$ua->agent('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36');
my $pac = HTTP::ProxyPAC->new(URI->new("http://pacfilelocation:8080/pac_file.pac"));
my $res = $pac->find_proxy("https://www.google.com");
if ($res->direct) {
print "No Proxy Needed\n";
} elsif ($res->proxy) {
print "Proxy: " . $res->proxy . "\n";
$ENV{HTTPS_PROXY} = $res->proxy;
$ENV{HTTP_PROXY} = $res->proxy;
$ua->env_proxy;
}
my $req = new HTTP::Request('GET', 'https://www.google.com/');
$req->header('Accept' => 'text/html');
$req->header('Host', 'www.google.com');
my $res2 = $ua->request($req);
if ($res2->is_success) {
print $res2->decoded_content;
} else {
print "Error: " . $res2->status_line . "\n";
}
किसी कारण नहीं उत्पादन डिबग है, जो इस सभी को और अधिक कठिन बना देता है हल करने के लिए है के लिए HTTPS_DEBUG सुविधा:
यहाँ कोड है कि मैंने लिखा है।
जब स्क्रिप्ट मैं एक सामान्य त्रुटि मिलती चल:
Error: 500 Can't connect to www.google.com:443
किसी भी मदद की बहुत अच्छा होगा!
एलडब्ल्यूपी :: प्रोटोकॉल :: https से 6.06 का उन्नयन किया। बहुत बहुत धन्यवाद! नोट: मुझे 6.06 मैन्युअल रूप से स्थापित करना पड़ा, क्योंकि सीपीएन 6.04 का उपयोग करता था – theEli