2012-03-31 12 views
9

Tôi có một URL được rút gọn (ví dụ: t.co/12345678). Tôi muốn giải quyết chuyển hướng mà không phải tải toàn bộ trang qua NSURLConnection. Rõ ràng, tôi có thể nhận được nó bằng cách gửi một NSURLConnection và chờ phản hồi nhưng điều này tải toàn bộ trang đầu tiên. Tôi chỉ tìm kiếm URL chuyển hướng. Điều này có thể không? Nếu vậy, làm thế nào?Giải quyết chuyển hướng của NSURL?

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

Chỉnh sửa: Đối với hậu thế, đây là giải pháp, theo đề xuất của 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); 
         }]; 

Trả lời

5

cùng một phương pháp như thế này: finding the download size of a URL (Content-Length)

nhưng bạn muốn [NSURLResponse statusCode] = 301/302/303 và Location tiêu đề ở đây: Getting "Location" header from NSHTTPURLResponse

+0

Hmm, mã trạng thái trở lại là 200 và phản hồi tiêu đề http không chứa URL chuyển hướng. URL phản hồi cũng chỉ chứa URL gốc ... – Keller

+0

Rất tiếc, đó là sự cố bộ nhớ cache. Làm việc như một say mê, cảm ơn rất nhiều! – Keller