2011-11-13 10 views
6

मैं वेबसाइट एचटीएम स्रोत प्राप्त करने के लिए नीचे दिए गए कोड का उपयोग करने का प्रयास करता हूं और यह काम करता है। हालांकि, जब मैं नीचे दिए गए कोड का उपयोग करके वेबसाइट http://reserve.apple.com/WebObjects/ProductReservation.woa/wa/reserveProduct पर जाता हूं तो मुझे परिणाम नहीं मिल सकता है। लेकिन, मैं ब्राउज़र का सही उपयोग करके इस पृष्ठ तक पहुंच सकता हूं। क्या आप मुझे इस समस्या को ठीक करने के लिए कुछ संकेत या टिप्स देंगे? धन्यवाद।एक्सेस वेबसाइट - डब्ल्यूडब्ल्यूडब्ल्यू :: मैकेनाइज

#!/usr/bin/perl 

use strict; 
use warnings; 

# create a new browser 
use WWW::Mechanize; 
my $browser = WWW::Mechanize->new(); 

# tell it to get the main page 

my $sURL = 'http://www.apple.com'; 

#my $sURL = 'http://reserve.apple.com/WebObjects/ProductReservation.woa/wa/reserveProduct'; 

$browser->get($sURL); 

print $browser->content; 

exit(0); 

उत्तर

6

यह एक अजीब व्यवहार है, लेकिन साइट यूआरएल पर आप प्राप्त करना चाहते हैं निम्न हेडर परिभाषित होने की आवश्यकता है: , स्वीकार करें Accept-Encoding, स्वीकार करें-भाषा, स्वीकार करें-वर्णसेट, कुकी।

अन्यथा सर्वर बिल्कुल प्रतिक्रिया नहीं देता है।

आप आसानी से अपने "मिल" अनुरोध से पहले यह सिर्फ डालने के लिए निम्न कोड कर सकते हैं:

$browser->add_header(
    "Accept"   => "", 
    "Accept-Encoding" => "", 
    "Accept-Language" => "", 
    "Accept-Charset" => "", 
    "Cookie"   => "" 
); 

रिक्त फ़ील्ड के बजाय आप कुछ वास्तविक मूल्यों सम्मिलित कर सकते हैं, लेकिन यह भी काम करता है।

+0

yko - बहुत बढ़िया! असल में, मैं इसके बारे में भी सोचता हूं। लेकिन, क्या आप मेरे साथ साझा करेंगे क्यों आप उसे जानते हैं? धन्यवाद। –

+0

मैं भी सोच रहा था। उत्तर साझा करने के लिए धन्यवाद। :-) –

+0

@TommyLiu यह सिर्फ एक अनुभव है। मैंने क्रोम अनुरोध से हेडर की प्रतिलिपि बनाई और उन्हें परीक्षण मशीनी अनुरोध में डाल दिया। और एक बार यह काम करने के बाद मैंने हेडर को एक-एक करके हटा दिया। ओह - अगर मैं कोई हेडर हटा देता हूं तो यह काम करना बंद कर देता है। फिर मैंने महत्वपूर्ण डेटा खोजने के प्रयास में शीर्षकों की सामग्री को खंड से हटा दिया। मैं वास्तव में आश्चर्यचकित था जब मुझे पता चला कि इसे किसी भी डेटा की आवश्यकता नहीं है। बस शीर्षलेखों का नाम – yko

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