在Cocoa中檢索短URL的原始URL的最簡單方法是什麼?任何可以在幾行內完成的事情?在Cocoa中獲取縮短網址的長URL的最簡單方法?
回答
更新:我剛剛看到您的評論,並意識到它遵循重定向。
請參閱委託方法:connection:willSendRequest:redirectResponse:
,它告訴您根據以前的響應重定向到這個新請求。
您可以從此處的新請求或重定向響應的位置標題中獲取擴展的URL。
Discussion If the delegate wishes to cancel the redirect, it should call the connection object’s cancel method. Alternatively, the delegate method can return nil to cancel the redirect, and the connection will continue to process. This has special relevance in the case where redirectResponse is not nil. In this case, any data that is loaded for the connection will be sent to the delegate, and the delegate will receive a connectionDidFinishLoading or connection:didFailLoadingWithError: message, as appropriate.
原來的答覆如下......
使用NSURLConnection
與委託。在您的代理人的connection:didReceiveResponse:
方法中,獲取allHeaderFields
並讀取「位置」標題的值。
喜歡的東西:
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
NSLog(@"Expanded URL = %@", [[(NSHTTPURLResponse *)response allHeaderFields] objectForKey:@"Location"]);
}
我想創建一個小URLExpander
類親自做這個,有一個簽名是這樣的:
+(void)asyncExpandURL:(NSURL *)aURL didExpandTarget:(id)target selector:(SEL)selector;
然後就傳回兩個參數在你的消息,一個是短網址,一個是長網址。
我會讓它成爲一個對象,讓它不保留目標。這樣,如果您的對象(例如文檔)消失,您可以釋放對象並從而取消請求。 – 2010-12-19 00:58:26
嗯......似乎沒有返回「位置」標頭: – 2010-12-19 02:00:25
連接:didReceiveResponse:{ \t「Cache-Control」=「max-age = 300,must-revalidate」; \t Connection =「Keep-Alive」; \t「Content-Type」=「text/html; charset = UTF-8」; \t Date =「Sun,19 Dec 2010 01:54:10 GMT」; \t Server =「Apache/2。2「; \t」Set-Cookie「=」X-Mapping-edcdikko = AC17288FCF56ED010476BDE83D0C0E9D;路徑= /「; \t 」傳輸編碼「=身份; \t因人而異= 」接受編碼,曲奇「; \t 」WP-超高速緩存從PHP 「」=「 曾任supercache文件; \t} – 2010-12-19 02:01:02
有沒有簡單的方法,你必須要求短網址提供服務器,並獲得完整的網址。這必須通過URL連接完成,也許有一些邏輯背後獲得重定向鏈接(我還沒有嘗試過)
另外,它也不需要完整的GET請求,HEAD應該就足夠了。 – bcarlso 2010-12-19 00:21:16
如果您不想提出請求並遵循重定向,則更簡單的方法是使用鏈接延長服務。這裏有兩個簡單的API:
我可以張貼一些代碼片段很快,特別是如果有興趣。
- 1. 從長網址獲取短網址
- 2. 從網址獲取號碼的最簡單方法是什麼?
- 3. 縮短地址欄中縮短的URL
- 4. Google短網址 - 最大網址長度
- 5. 最佳網址縮短算法
- 6. 長的URL轉換爲短網址笨
- 7. 的.htaccess重寫URL(網址縮短)
- 8. 我想從Android上的短網址獲取長網址
- 9. 如何使用Ruby獲取縮短網址的目標網址?
- 10. 如何獲取縮短網址的目標網址?
- 11. 如何找到鏈接到特定長URL的縮短網址?
- 12. 的網址縮短
- 13. 網址縮短
- 14. 縮短網址
- 15. 通過我的瀏覽器獲取URL的最簡單方法?
- 16. 獲取域名IP地址的最簡單方法是什麼?
- 17. 從Vimeo網址獲取Vimeo id的簡單方法
- 18. 用哈希縮短長網址?
- 19. Python中的循環讀取來自縮短的URL的長URL
- 20. 如何以編程方式延長縮短的網址
- 21. 使用Wordpress獲取分層頁面網址的最簡單方法是什麼?
- 22. 從C#中縮短網址獲得完整的網址.net
- 23. 如何獲取我的網站的簡短網址?
- 24. 以t.co的方式縮短網址
- 25. 在Java中拉取JSON URL最簡單的方法是什麼?
- 26. URL Shortener - 自動縮短網址
- 27. 在地址欄中縮短網址
- 28. 獲取文件夾大小的簡單方法(ObjC/Cocoa)?
- 29. 獲取網頁上所有縮短的網址
- 30. 在Android中解析縮短的網址
首先定義短網址。其次,除非您擁有原始網址的所有部分,否則無法將其完美無缺地展現出來。 – 2010-12-19 00:08:55