यदि मेरे पास एक यूआरएल है (उदाहरण के लिए http://www.foo.com/alink.pl?page=2), तो मैं यह निर्धारित करना चाहता हूं कि मुझे किसी अन्य लिंक पर रीडायरेक्ट किया जा रहा है या नहीं। मैं अंतिम यूआरएल भी जानना चाहूंगा (उदाहरण के लिए http://www.foo.com/other_link.pl)। अंत में, मैं पर्ल और ग्रोवी में ऐसा करने में सक्षम होना चाहता हूं।मैं कैसे निर्धारित कर सकता हूं कि एक यूआरएल रीडायरेक्ट करता है या नहीं?
उत्तर
पर्ल में:
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $request = HTTP::Request->new(GET => 'http://google.com/');
my $response = $ua->request($request);
if ($response->is_success and $response->previous) {
print $request->url, ' redirected to ', $response->request->uri, "\n";
}
ठीक है, मुझे पर्ल या ग्रोवी के बारे में कुछ भी नहीं पता है, इसलिए मैं आपको एक HTTP दृष्टिकोण से एक और दूंगा, और आपको अनुकूलित करना होगा।
आम तौर पर, आप एक HTTP अनुरोध करते हैं, और आप प्रतिक्रिया कोड के साथ कुछ HTML पाठ वापस लेते हैं। सफलता के लिए प्रतिक्रिया कोड 200 है। 300 रेंज में कोई भी प्रतिक्रिया कोड रीडायरेक्ट का कुछ रूप है।
पर्ल में आप LWP::Useragent का उपयोग कर सकते हैं। मुझे लगता है कि add_handler
का उपयोग कर response_redirect
हैंडलर जोड़ने का सबसे आसान तरीका है।
जेम्स के जवाब का जिक्र करते हुए - नमूना HTTP सत्र:
$ telnet www.google.com 80
HEAD/HTTP/1.1
HOST: www.google.com
HTTP/1.1 302 Found
Location: http://www.google.it/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: ##############################
Date: Thu, 30 Oct 2008 20:03:36 GMT
Server: ####
Content-Length: 218
सिर का इस्तेमाल प्राप्त करने के बजाय आप केवल शीर्ष लेख मिलता है। "302" का मतलब अस्थायी पुनर्निर्देशन है, "स्थान:" वह जगह है जहां आपको रीडायरेक्ट किया जाता है।
एक त्वरित & गंदा ग्रूवी अवधारणाओं को दिखाने के लिए स्क्रिप्ट - ध्यान दें, यह java.net.HttpURLConnection
उपयोग कर रहा है आदेश में रीडायरेक्ट पता लगाने के लिए, आप setFollowRedirects(false)
उपयोग करना होगा। अन्यथा, आप 200 9 के responseCode
के साथ किसी भी तरह रीडायरेक्ट पेज पर समाप्त हो जाते हैं। इसके बाद आपको रीडायरेक्ट को नेविगेट करना होगा।
URL url = new URL ('http://google.com')
HttpURLConnection conn = url.openConnection()
conn.followRedirects = false
conn.requestMethod = 'HEAD'
println conn.responseCode
// Not ideal - should check response code too
if (conn.headerFields.'Location') {
println conn.headerFields.'Location'
}
301
["http://www.google.com/"]
मुझे लगता है कि यह 301 रीडायरेक्ट के लिए काम करेगा।
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $request = HTTP::Request->new(GET => 'http://google.com/');
my $response = $ua->request($request);
if ($response->is_redirect ) {
print $request->url . " redirected to location " . $response->header('Location') . "\n";
}
- 1. मैं कैसे निर्धारित कर सकता हूं कि एक यूआरएल PHP में रीडायरेक्ट करता है या नहीं?
- 2. PHP: जांचें कि यूआरएल रीडायरेक्ट करता है या नहीं?
- 3. मैं एक यूआरएल पर कैसे रीडायरेक्ट कर सकता हूं?
- 4. मैं कैसे निर्धारित कर सकता हूं कि एक विंडो हैंडल मान्य है या नहीं?
- 5. मैं कैसे निर्धारित कर सकता हूं कि एक div नीचे स्क्रॉल किया गया है या नहीं?
- 6. क्या मैं निर्धारित कर सकता हूं कि कोई KeyEventArg एक अक्षर या संख्या है या नहीं?
- 7. मैं कैसे निर्धारित कर सकता हूं कि एक समग्र प्रारूप स्ट्रिंग अमान्य है या नहीं?
- 8. मैं कैसे निर्धारित कर सकता हूं कि विंडोज में एक विशिष्ट फ़ाइल खुलती है या नहीं?
- 9. मैं कैसे निर्धारित कर सकता हूं कि एक सार विधि लागू की गई है या नहीं?
- 10. मैं कैसे निर्धारित कर सकता हूं कि SQL सर्वर संग्रहीत प्रक्रिया पैरामीटर डिफ़ॉल्ट है या नहीं?
- 11. मैं कैसे निर्धारित कर सकता हूं कि UILabel को छुआ था या नहीं?
- 12. मैं कैसे निर्धारित कर सकता हूं कि डिवाइस पर मल्टीटास्किंग समर्थित है या नहीं?
- 13. मैं कैसे निर्धारित कर सकता हूं कि कोई फ़ाइल खाली है या नहीं?
- 14. मैं कैसे निर्धारित कर सकता हूं कि एमएस ऑफिस 2007 एसपी 2 स्थापित है या नहीं?
- 15. मैं कैसे निर्धारित कर सकता हूं कि मेरे एंड्रॉइड ऐप में मेमोरी रिसाव है या नहीं?
- 16. मैं कैसे निर्धारित कर सकता हूं कि उपयोगकर्ता के पास आईओएस ऐप इंस्टॉल है या नहीं?
- 17. मैं कैसे निर्धारित कर सकता हूं कि बैक बटन प्रदर्शित होता है या नहीं?
- 18. मैं कैसे निर्धारित कर सकता हूं कि UISearchDisplayController की खोजResultsTableView दिखाई दे रही है या नहीं?
- 19. मैं कैसे निर्धारित कर सकता हूं कि मेरा टेक्स्टब्लॉक टेक्स्ट छंटनी जा रहा है या नहीं?
- 20. मैं कैसे निर्धारित कर सकता हूं कि पर्ल फ़ंक्शन रनटाइम पर मौजूद है या नहीं?
- 21. मैं कैसे निर्धारित कर सकता हूं कि कोई त्रुटि लौटाई गई है या नहीं?
- 22. मैं कैसे निर्धारित कर सकता हूं कि Win32 थ्रेड समाप्त हो गया है या नहीं?
- 23. मैं कैसे निर्धारित कर सकता हूं कि ऑपरेटिंग सिस्टम सी में POSIX है या नहीं?
- 24. मैं कैसे निर्धारित कर सकता हूं कि कोई फ़ंक्शन ग्राफ़
- 25. मैं कैसे निर्धारित कर सकता हूं कि Console.Out को एक फ़ाइल में रीडायरेक्ट कर दिया गया है?
- 26. मैं कैसे निर्धारित कर सकता हूं कि एंड्रॉइड पीडीएफ
- 27. मैं कैसे निर्धारित कर सकता हूं कि जावा क्लास प्रतिबिंब
- 28. मैं कैसे निर्धारित कर सकता हूं कि वीबीएस का उपयोग कर एक फाइल लॉक है या नहीं?
- 29. मैं कैसे निर्धारित कर सकता हूं कि स्ट्रिंग एक स्थानीय फ़ोल्डर स्ट्रिंग या नेटवर्क स्ट्रिंग है या नहीं?
- 30. मैं कैसे निर्धारित कर सकता हूं कि चयनित नोड TreeView में एक बच्चा या पैरेंट नोड है या नहीं?
एस/जीईटी/हेड /। Google.com के साथ यह कोई तेज़ प्रतीत नहीं होता है, लेकिन microsoft.com के साथ इसे आजमाएं ... –