2012-03-31 16 views
9

मेरे पास एक छोटा यूआरएल है (उदा। t.co/12345678)। मैं NSURLConnection के माध्यम से पूरे पृष्ठ को लोड किए बिना रीडायरेक्ट को हल करना चाहता हूं। जाहिर है, मैं इसे NSURLConnection भेजकर और प्रतिक्रिया का इंतजार कर सकता हूं लेकिन यह पहले पूरे पृष्ठ को लोड करता है। मैं केवल रीडायरेक्ट यूआरएल की तलाश में हूं। क्या यह संभव है? यदि हां, तो कैसे?NSURL के रीडायरेक्ट को हल करें?

=============

संपादित करें: भावी पीढ़ी के लिए, यहाँ समाधान, के रूप में amleszk ने सुझाव दिया है।

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:shortenedURL 
             cachePolicy:NSURLRequestReloadIgnoringCacheData 
            timeoutInterval:15.0f]; 

[request setHTTPMethod:@"HEAD"]; 

[NSURLConnection sendAsynchronousRequest:request 
            queue:[NSOperationQueue mainQueue] 
         completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { 
          NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response; 
          NSURL *resolvedURL = [httpResponse URL]; 
          NSLog(@"%@", resolvedURL); 
         }]; 

उत्तर

5

इस रूप में एक ही विधि: finding the download size of a URL (Content-Length)

लेकिन आप [NSURLResponse statusCode] चाहते = 301/302/303 और स्थान यहाँ हैडर: Getting "Location" header from NSHTTPURLResponse

+0

हम्म, स्थिति लौटा कोड 200 है और http शीर्षलेख प्रतिक्रिया में रीडायरेक्ट यूआरएल नहीं है। प्रतिक्रिया यूआरएल में केवल मूल यूआरएल है ... – Keller

+0

ओह, यह एक कैशिंग मुद्दा था। एक आकर्षण की तरह काम किया, बहुत बहुत धन्यवाद! – Keller