站点连接 :http://www.gaoshou.me/uid/19125624   

不用不知道,一用吓一跳。

每一个月的手机话费不用愁了。

仅限苹果手机

1、同步请求能够从因特网请求数据。一旦发送同步请求。程序将停止用户交互,直至server返回数据完毕,才干够进行下一步操作,

2、异步请求不会堵塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依旧能够对UI进行操作,程序能够继续执行

3、GET请求。将參数直接写在訪问路径上。

操作简单,只是easy被外界看到,安全性不高,地址最多255字节。

4、POST请求,将參数放到body里面。

POST请求操作相对复杂,须要将參数和地址分开,只是安全性高。參数放在body里面,不易被捕获。

1、    同步GET请求

   //第一步,创建URL
    NSURL *url = [NSURLURLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
   
    //第二步,通过URL创建网络请求
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    //NSURLRequest初始化方法第一个參数:请求訪问路径,第二个參数:缓存协议,第三个參数:网络请求超时时间(秒)
      当中缓存协议是个枚举类型包括:
      NSURLRequestUseProtocolCachePolicy(基础策略,一般使用此策略)
      NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存)
      NSURLRequestReturnCacheDataElseLoad(首先使用缓存。假设没有本地缓存。才从原地址下载)
      NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,假设本地没有缓存。则请求失败。此策略多用于离线操作)
     NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视不论什么缓存策略,不管是本地的还是远程的,总是从原地址又一次下载)
      NSURLRequestReloadRevalidatingCacheData(验证本地数据与远程数据是否同样。假设不同则下载远程数据,否则使用本地数据。)
    //第三步。连接server
    NSData *received = [NSURLConnectionsendSynchronousRequest:request returningResponse:nil error:nil];
   
    NSString *str = [[NSString alloc]initWithData:receivedencoding:NSUTF8StringEncoding];
   
    NSLog(@"%@",str);

2、同步POST请求
    //第一步,创建URL
    NSURL *url = [NSURLURLWithString:@"http://api.hudong.com/iphonexml.do"];
    //第二步,创建请求
    NSMutableURLRequest *request = [[NSMutableURLRequestalloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    [request setHTTPMethod:@"POST"];//设置请求方式为POST,默觉得GET
    NSString *str = @"type=focus-c";//设置參数
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPBody:data];
    //第三步,连接server
   
    NSData *received = [NSURLConnectionsendSynchronousRequest:request returningResponse:nil error:nil];
   
    NSString *str1 = [[NSString alloc]initWithData:receivedencoding:NSUTF8StringEncoding];
   
    NSLog(@"%@",str1);

3、异步GET请求
    //第一步,创建url
    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
    //第二步,创建请求
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    //第三步。连接server
    NSURLConnection *connection = [[NSURLConnectionalloc]initWithRequest:request delegate:self];

4、异步POST请求
    //第一步,创建url
    NSURL *url = [NSURLURLWithString:@"http://api.hudong.com/iphonexml.do"];
    //第二步,创建请求
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    [request setHTTPMethod:@"POST"];
    NSString *str = @"type=focus-c";
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPBody:data];
    //第三步,连接server
    NSURLConnection *connection = [[NSURLConnectionalloc]initWithRequest:request delegate:self];

5、异步请求的代理方法
//接收到server回应的时候调用此方法
- (void)connection:(NSURLConnection *)connectiondidReceiveResponse:(NSURLResponse *)response
{
    NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
    NSLog(@"%@",[res allHeaderFields]);
    self.receiveData = [NSMutableData data];
 

                             
}
//接收到server数据传输的时候调用,此方法依据数据大小执行若干次
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [self.receiveData appendData:data];
}
//数据传完之后调用此方法
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSString *receiveStr = [[NSStringalloc]initWithData:self.receiveData encoding:NSUTF8StringEncoding];
    NSLog(@"%@",receiveStr);
}
//网络请求过程中,出现不论什么错误(断网,连接超时等)会进入此方法
-(void)connection:(NSURLConnection *)connection
 didFailWithError:(NSError *)error
{
    NSLog(@"%@",[error localizedDescription]);
}

编辑文章 - 博客频道 - CSDN.NET的更多相关文章

  1. 小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET

    小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅 ...

  2. 最牛B的编码套路 - 呦呦鹿鸣 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  3. java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET

    java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了!      社区福利快来领取免费参加MDCC大会机会哦    Tag功能介绍—我们 ...

  4. C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET

    C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...

  5. Mybatis 示例之 Association - 偶尔记一下 - 博客频道 - CSDN.NET

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  6. Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN

    Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN.NET http://blog.csdn.net/borishuai/article/details ...

  7. 帧与场 - djf_1985的专栏 - 博客频道 - CSDN.NET

    帧与场 - djf_1985的专栏 - 博客频道 - CSDN.NET 电视信号是通过摄像机对自然景物的扫描并经光电转换形成的.扫描方式分为“逐行扫描”和“隔行扫描”.“逐行扫描”指每幅图像均是由电子 ...

  8. 知道创宇爬虫题--代码持续更新中 - littlethunder的专栏 - 博客频道 - CSDN.NET

    知道创宇爬虫题--代码持续更新中 - littlethunder的专栏 - 博客频道 - CSDN.NET undefined 公司介绍 - 数人科技 undefined

  9. 采集爬虫中,解决网站限制IP的问题? - wendi_0506的专栏 - 博客频道 - CSDN.NET

    采集爬虫中,解决网站限制IP的问题? - wendi_0506的专栏 - 博客频道 - CSDN.NET undefined

随机推荐

  1. Ultimate Weirdness of an Array CodeForces - 671C (gcd,线段树)

    大意: 定义一个数列的特征值为两个数gcd的最大值, $f(l,r)$表示数列删除区间$[l,r]$的元素后剩余元素的特征值, 求$\sum_{i=1}^n\sum_{j=i}^n{f(i,j)}$ ...

  2. mac 安装phpunit

    大部分内容来自:https://blog.csdn.net/aishangyutian12/article/details/64124536 感谢创作,感谢分享 单元测试的重要性就不说了,postma ...

  3. 手动安装Silverlight 4 Tools for Visual Studio 2010

    手动安装吧,将Silverlight 4 Tools for Visual Studio 2010.exe改成rar文件,解压缩,按照下面的步骤安装: 1.silverlight_developer. ...

  4. How to create VO s and VLs dynamically in OAF

    I have to create 2 VO objects dynamicaly and created 2 VL's dynamically .I have a static HGrid.and i ...

  5. Edraw安装图解

    Edraw安装图解   Success

  6. stimulsoft report工具—— 简单的多表连接打印报表例子

    一.用报表工具打印多个表格信息(包括学生表.教师表.班级表) 1.准备打印的数据(用sqlserver) 1)班级表

  7. 小程序中bindtap绑定函数,函数参数event对数据的处理

    WXML: <view id=" bindtap="tapName"> Click me! </view> JS: Page({ tapName: ...

  8. 多种数据库之间的同步工具SymmetricDS

    代码:https://github.com/JumpMind/symmetric-ds 原理: 通过触发器模式同步时,是将数据库的变化记录到某个系统表中,然后在客户端建立缓冲,并定期将变化push到接 ...

  9. 技术揭秘“QQ空间”自动转发不良信息

    大家经常会看到QQ空间自动转发一些附带链接的不良信息,即便我们的QQ密码并没有被盗取.最近通过对一个QQ空间自动转发链接进行分析,发现该自动转发机制通过利用腾讯网站存在漏洞的页面,精心构造出利用代码获 ...

  10. iOS开发UI之Quartz2D使用(绘制基本图形)

    iOS开发UI篇—Quartz2D使用(绘制基本图形) 一.简单说明 图形上下文(Graphics Context):是一个CGContextRef类型的数据 图形上下文的作用:保存绘图信息.绘图状态 ...