Run*_*oop 3 cocoa cocoa-touch http bit.ly short-url
我想确定一个短网址的长网址是什么.我尝试过使用http HEAD请求,但很少有返回的头字段实际上包含与destination/long url相关的任何数据.
有:1.任何方法来确定长网址?2.如果是这样,可以在不下载目的地主体的情况下完成吗?
谢谢
发出HTTP GET请求,不要按照重定向,分析Location标头.这就是重定向的目标所在.
特别是在Cocoa中,使用带委托的异步请求,处理委托中的didReceiveResponse.第一个响应是重定向.在处理程序中提取URL后,在连接上调用[cancel].
编辑:取决于提供者,HEAD而不是GET可能或可能不起作用.如果您不遵循重定向,则无论如何都不会加载响应数据,因此没有传输开销来进行GET.
做一个HEAD并寻找Location标题.
% telnet bit.ly 80
Trying 168.143.173.13...
Connected to bit.ly.
Escape character is '^]'.
HEAD /cwz5Jd HTTP/1.1
Host: bit.ly
HTTP/1.1 301 Moved
Server: nginx/0.7.42
Date: Fri, 12 Mar 2010 18:37:46 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Set-Cookie: _bit=4b9a89fa-002bd-030af-baa08fa8;domain=.bit.ly;expires=Wed Sep 8 14:37:46 2010;path=/; HttpOnly
Location: http://www.engadget.com/2010/03/12/motorola-milestone-with-android-2-1-hitting-bulgaria-by-march-20/?utm_source=twitterfeed&utm_medium=twitter
MIME-Version: 1.0
Content-Length: 404
Run Code Online (Sandbox Code Playgroud)