、     同步GET请求
 
    //第一步,创建URL
 
    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
 
     
 
    //第二步,通过URL创建网络请求
 
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:];
 
    //NSURLRequest初始化方法第一个参数:请求访问路径,第二个参数:缓存协议,第三个参数:网络请求超时时间(秒)
 
      其中缓存协议是个枚举类型包含:
 
      NSURLRequestUseProtocolCachePolicy(基础策略)
 
      NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存)
 
      NSURLRequestReturnCacheDataElseLoad(首先使用缓存,如果没有本地缓存,才从原地址下载)
 
      NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作)
 
      NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载)
 
      NSURLRequestReloadRevalidatingCacheData(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载)
 
    //第三步,连接服务器
 
    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
 
     
 
    NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
 
     
 
    NSLog(@"%@",str);
 
、同步POST请求
 
    //第一步,创建URL
 
    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"];
 
    //第二步,创建请求
 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:];
 
    [request setHTTPMethod:@"POST"];//设置请求方式为POST,默认为GET
 
    NSString *str = @"type=focus-c";//设置参数
 
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
 
    [request setHTTPBody:data];
 
    //第三步,连接服务器
 
     
 
    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
 
     
 
    NSString *str1 = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
 
     
 
    NSLog(@"%@",str1);
、异步GET请求
 
    //第一步,创建url
 
    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
 
    //第二步,创建请求
 
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:];
 
    //第三步,连接服务器
 
    NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
、异步POST请求
 
    //第一步,创建url
 
    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"];
 
    //第二步,创建请求
 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:];
 
    [request setHTTPMethod:@"POST"];
 
    NSString *str = @"type=focus-c";
 
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
 
    [request setHTTPBody:data];
 
    //第三步,连接服务器
 
    NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
 
、异步请求的代理方法
 
//接收到服务器回应的时候调用此方法
 
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
 
{
 
    NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
 
    NSLog(@"%@",[res allHeaderFields]);
 
    self.receiveData = [NSMutableData data];                           
 
}
 
//接收到服务器传输数据的时候调用,此方法根据数据大小执行若干次
 
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
 
{
 
    [self.receiveData appendData:data];
 
}
 
//数据传完之后调用此方法
 
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
 
{
 
    NSString *receiveStr = [[NSString alloc]initWithData:self.receiveData encoding:NSUTF8StringEncoding];
 
    NSLog(@"%@",receiveStr);
 
}
 
//网络请求过程中,出现任何错误(断网,连接超时等)会进入此方法
 
-(void)connection:(NSURLConnection *)connection
 
 didFailWithError:(NSError *)error
 
{
 
    NSLog(@"%@",[error localizedDescription]); }

iOS 原生网络请求(推荐使用AFNetWorking库)的更多相关文章

  1. ios htttp网络请求cookie的读取与写入(NSHTTPCookieStorage)

    当你访问一个网站时,NSURLRequest都会帮你主动记录下来你访问的站点设置的Cookie,如果 Cookie 存在的话,会把这些信息放在 NSHTTPCookieStorage 容器中共享,当你 ...

  2. iOS - ASIHTTPRequest 网络请求

    前言 使用 iOS SDK 中的 HTTP 网络请求 API,相当的复杂,调用很繁琐,ASIHTTPRequest 就是一个对 CFNetwork API 进行了封装,并且使用起来非常简单的一套 AP ...

  3. iOS - Alamofire 网络请求

    前言 Alamofire 是 Swift 语言的 HTTP 网络开发工具包,相当于 Swift 实现 AFNetworking 版本.当然,AFNetworking 非常稳定,在 Mac OSX 与 ...

  4. iOS开发网络请求——大文件的多线程断点下载

    iOS开发中网络请求技术已经是移动app必备技术,而网络中文件传输就是其中重点了.网络文件传输对移动客户端而言主要分为文件的上传和下载.作为开发者从技术角度会将文件分为小文件和大文件.小文件因为文件大 ...

  5. iOS - NSURLSession 网络请求

    前言 NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0) @interface NSURLSession : NSObject @available(iOS ...

  6. 原生网络请求以及AFN网络请求/异步下载

    这里对网络请求方式做一个总结. 原生方式同步GET请求: NSString *urlStr = @"http://apis.juhe.cn/mobile/get?phone=13429667 ...

  7. iOS之网络请求NSURLSession剖析

    2013年的WWDC大会上,苹果推出了NSURLSession,对Foundation URL加载系统进行了彻底的重构,提供了更丰富的API来处理网络请求,如:支持http2.0协议.直接把数据下载到 ...

  8. iOS之网络请求及各类错误代码含义总结(包含AFN错误码大全)

    转自http://blog.csdn.net/wangyanchang21/article/details/50932191 在很多时候都会遇到错误, 还会带有一些 Error Code , 比如在各 ...

  9. iOS - NSURLConnection 网络请求

    前言 @interface NSURLConnection : NSObject class NSURLConnection : NSObject DEPRECATED: The NSURLConne ...

随机推荐

  1. 关于Hibernate的关联映射

    何为关联映射 由于数据库的表与表之间存在的管理关系,可以分为一对一,一对多和多对多关联,一般情况下,在数据库设计中是通过表的外键来建立各种关系的,在Hibernate中则把数据库表与表之间的关系数据映 ...

  2. Mysql 死锁的详细分析方法

    用数据库的时候,偶尔会出现死锁,针对我们的业务系统,出现死锁的直接结果就是系统卡顿.客户找事儿,所以我们也在想尽全力的消除掉数据库的死锁.出现死锁的时候,如果只是想解锁,用show full proc ...

  3. jvm分析(MD语法)

    #是什么**jps**  查看所有的jvm进程,包括进程ID,进程启动的路径等等. **jstack**  观察jvm中当前所有线程的运行情况和线程当前状态.系统崩溃了?如果java程序崩溃生成cor ...

  4. XMPP框架下微信项目总结(2)授权登陆/注销/注册/打印日志

    xmpp授权登陆步骤1 初始化xmppstream 连接服务器 传递属性jid(IP地址 端口号)2 连接成功后 传递“登”陆密码授权 3 授权后,发送在线消息xmpp所有的代理都是子线程中调用的,处 ...

  5. hdu 1541 Stars

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1541 思路:要求求出不同等级的星星的个数,开始怎么也想不到用树状数组,看完某些大神的博客之后才用树状数 ...

  6. codevs 2851 菜菜买气球

    dp加二分法 链接:http://codevs.cn/problem/2851/ #include<iostream> #include<vector> #include< ...

  7. ZOJ 2136 Longest Ordered Subsequence

    #include<time.h> #include <cstdio> #include <iostream> #include<algorithm> # ...

  8. MySQL中varchar转int

    order by ... cast(sort as signed) 或 convert(sort,signed) (sort为待转化字段)

  9. APP测试流程(个人整理)

  10. 最终排名 sdut 2446

    最终排名 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 题目链接:http://acm.sdut.edu.cn/sdutoj/p ...