HTTP连接的头信息包括在NSHTPURLResponse类中。如果你拥有一个NSHTTPURLResponse变量,你可以通过发送allHeaderFields信息,轻而易举地获取以NSDictionary形式保存的头信息。

对于一个同步请求 – 由于会引发阻塞所以不推荐使用 – 是很容易初始化一个NSHTTPURLResponse的:

1
2
3
4
5
6
7
8
9
10
 
NSURL *url = [NSURL URLWithString:@"http://www.mobileorchard.com"];
NSURLRequest *request = [NSURLRequest requestWithURL: url];
NSHTTPURLResponse *response;

[NSURLConnection sendSynchronousRequest: request returningResponse: &response error: nil];
if ([response respondsToSelector:@selector(allHeaderFields)])
{
    NSDictionary *dictionary = [response allHeaderFields];
    NSLog([dictionary description]);
}

而对于异步请求,你必须多做点工作。当回调connection:didReceiveResponse:被调用时,NSURLResponse会被作为第二个参数传递。你就可以象下面代码那样将其转化为NSHTTPURLResponse:

1
2
3
4
5
6
7
8
9
 
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{  
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
    if ([response respondsToSelector:@selector(allHeaderFields)])
    {
        NSDictionary *dictionary = [httpResponse allHeaderFields];
        NSLog([dictionary description]);
    }
}

转载于:https://blog.51cto.com/2666734/530086

iPhone开发:通过NSURLRequest获得服务器返回的http header和http status相关推荐

  1. iOS获取iPhone系统等信息和服务器返回空的异常处理

    前言: 在项目中经常会遇到需要获取系统的信息来处理一些特殊的需求和服务端返回为空的处理,写在这里只是笔记一下. 获取设备的信息 NSLog(@"globallyUniqueString=%@ ...

  2. 服务器返回431 Request Header Fields Too Large解决方法

    访问服务器,出现这个问题 431 Request Header Fields Too Large 解决:清空浏览器的cookie缓存重新加载. 或者在nginx的HTTP模块中,修改 client_h ...

  3. 服务器如何返回429状态,Instagram远程服务器返回一个错误:(429)UNKNOWN STATUS CODE...

    我正在使用我自己的instagram api开发一些新程序. 一切都与我工作正常,除了以下的用户脚本 我想按照我的用户ID 的名单,所以我用这个代码Instagram远程服务器返回一个错误:(429) ...

  4. ipad iphone开发_如何在iPhone或iPad上更改DNS服务器

    ipad iphone开发 Your iPhone or iPad normally uses the DNS servers provided by whatever Wi-Fi network y ...

  5. 服务器返回文件格式,iOS开发--服务器返回的数据解析

    App要与服务器交互才能达到数据更新和获取资源 那么: 服务器返回客户端的数据,一般返回两种格式:JSON格式.XML格式 (文件下载除外) 什么是JSON 轻量级数据格式,一般用于数据交互 JSON ...

  6. iPhone开发部分总结

    iphone程序中实现截屏的一种方法 在iphone程序中实现截屏的一种方法: //导入头 文件 #import QuartzCore/QuartzCore.h //将整个self.view大小的图层 ...

  7. iphone开发笔记和技巧总结

    在iphone程序中实现截屏的一种方法: //导入头文件   #importQuartzCore/QuartzCore.h //将整个self.view大小的图层形式创建一张图片imageUIGrap ...

  8. ios学习--iphone开发笔记和技巧总结(原址持续更新)

    ios学习--iphone开发笔记和技巧总结(原址持续更新) 分类: ios Object-C2012-04-18 10:16 2716人阅读 评论(1) 收藏 举报 uiviewiphonelist ...

  9. iPhone开发中的一些小技巧

    NavBar+TarBar iphone开发 NavBar+TarBar 1  改变NavBar颜色:选中Navigation Bar 的Tint属性.选中颜色. 2  隐藏"back&qu ...

最新文章

  1. 抽样方法,采样方法 shuffle
  2. 代码规范之eslint+prettier实践
  3. 中国计算机学会CCF推荐国际学术会议和期刊目录-交叉/综合/新兴
  4. 4.2 Tensorflow笔记:池化函数
  5. js控制a标签点击事件 触发下载
  6. Java内存区域(运行时数据区域)和内存模型(JMM)
  7. [渝粤教育] 四川信息职业技术学院 高频电子技术 参考 资料
  8. 浏览器字体大小设置_CSS之 浏览器解析样式的过程
  9. 干货—MySQL常见的面试题+索引原理分析!
  10. PHP每天自动更新静态文件下载地址,防盗链
  11. springcloud中文手册API
  12. CAM350 10.5完美精减版
  13. 基于预计算的全局光照技术
  14. 关于人生和青春的思考
  15. 原创 | 大数据学习思维导图
  16. C语言 输入一个数值,分析是正还是负,并打印出此数
  17. 腾讯大王卡免费申请工具 申请入口_一键申请 低价流量卡办理入口
  18. 如何评小学计算机课,小学信息技术优质课评选听课心得体会
  19. PHP 输出图像 imagegif 、imagejpeg 与 imagepng 函数(五)
  20. Kubernetes(k8s)基础之二:容器编排介绍及概念

热门文章

  1. 常用Maven收集以及Maven技巧
  2. 海思3559A上编译OpenCV4.1.0源码操作步骤
  3. 提高C++性能的编程技术笔记:编码优化+测试代码
  4. 服务器性能好的笔记本电脑,2020高性价比笔记本推荐-1万以上笔记本电脑排行
  5. android命令行工具 混淆,Android 混淆代码学习以及Android加密工具--APKProtect的使用ZZ...
  6. python爬取疫情信息html.xpath p标签_python xpath 如何过滤div中的script和style标签
  7. java控制台两个字符串_java控制台输入字符串
  8. 判断小数是否相等_四年级上册数学填空+计算+判断易错题整理练习,收藏练一练!...
  9. python储存数据的容器_Python基础四容器类数据
  10. 在python中使用关键字define定义函数_python自定义函数def的应用详解