iphone - 仅在 iPhone 上获取 HTTP header 字段

标签 iphone http url header

我只想获取 URL 请求的 header 。到目前为止,我一直在使用 stringWithContentsOfURL() 进行所有下载,但现在我只对标题感兴趣,下载整个文件是不可行的,因为它太大了。

我找到了显示在收到响应后如何读取 header 的解决方案,但是如何在请求中指定我只希望下载 header 。跳过 body !

谢谢。

最佳答案

向相关 URL 异步发送 HEAD 请求,然后访问 HTTPURLResponse/NSHTTPURLResponse 上的 allHeaderFields 属性。

swift 4

var request = URLRequest(url: URL(string: "https://google.com/")!)
request.httpMethod = "HEAD"
let task = URLSession.shared.dataTask(with: request) { data, response, error in
    guard let response = response as? HTTPURLResponse,
        let headers = response.allHeaderFields as? [String: String] else {
        return
    }
}
task.resume()

目标-C

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]];
[request setHTTPMethod:@"HEAD"];
[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                           NSDictionary *headers = [(NSHTTPURLResponse *)response allHeaderFields];
                       }];

关于iphone - 仅在 iPhone 上获取 HTTP header 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2565149/

相关文章:

http - 用于移动消息服务的 TCP 或 UDP?

javascript - 在 PhP 脚本中使用 $http.post 传递的变量

Java Eclipse - 转到 URL 方法?

html - 从 Angular 中的输入控件更新 URL

url - localhost.com 重定向到谷歌搜索

iphone - 如何更改 UIPickerView 中每个组件的宽度?

ios - 在应用程序角标(Badge)中显示当前日期

java - 如何处理 Axis 1 客户端中的 HTTP 错误代码

iphone - Google Chart API 在 iPhone 上突破容器

iphone - 使用 -dismissPopoverAnimated 关闭 UIPopoverController : won't call delegate?