iOS应用中发送HTTP的get请求以及HTTP异步请求的方法

 更新时间:2016年02月28日 09:26:47   作者:常思过  
这篇文章主要介绍了iOS应用中发送HTTP的get请求以及HTTP异步请求的方法,代码为传统的Objective-C语言,说明都简单地融入于注释之中,需要的朋友可以参考下

Http get 请求

复制代码 代码如下:

// 组合一个搜索字符串
    NSString *urlStr = [NSString stringWithFormat:@"http://www.baidu.com/s?wd=%@", @"php"];
    // 字符串转化为URL
    NSURL *url = [NSURL URLWithString:urlStr];
    
//    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
//    [request setURL:url];
//    [request setHTTPMethod:@"POST"];
//    [request setTimeoutInterval:60];
//    [request setHTTPBody:_data];
//    [request setValue:@"ttt" forHTTPHeaderField:@"cookies"];
   
    // url转化为一个请求
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    // 状态请求
    NSURLResponse *response;
    // 链接一个请求
    NSData *resultData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    // 返回数据转为字符串
    NSData *dataString = [[NSString alloc] initWithData:resultData encoding:NSUTF8StringEncoding];
    NSLog(@"%@", dataString);
// 解析json吧

Http异步请求

复制代码 代码如下:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    _data = [[NSMutableData alloc] init];
    
    // 组合一个搜索字符串
    NSString *urlStr = [NSString stringWithFormat:@"http://www.baidu.com/s?wd=%@", @"php"];
    NSURL *url = [NSURL URLWithString:urlStr];
    
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    //发起请求,定义代理
    [NSURLConnection connectionWithRequest:request delegate:self];
    
}
 
// 分批返回数据
- (void)connection:(NSURLConnection *) connection didReceiveData:(NSData *)data {
    [_data appendData:data];
    NSLog(@"%@", _data);
}
 
// 数据完全返回完毕
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSString *dataString =  [[NSString alloc] initWithData:_data encoding:NSUTF8StringEncoding];
    NSLog(@"%@", dataString);
}

相关文章

  • iOS蓝牙设备名称缓存问题的解决方法

    iOS蓝牙设备名称缓存问题的解决方法

    这篇文章主要给大家介绍了关于iOS蓝牙设备名称缓存问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • iOS如何优雅地实现序列动画详解

    iOS如何优雅地实现序列动画详解

    这篇文章主要给大家介绍了关于iOS如何优雅地实现序列动画的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • iOS多控制器实现带滑动动画

    iOS多控制器实现带滑动动画

    这篇文章主要为大家详细介绍了iOS多控制器实现带滑动动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • iOS使用Target如何快速科学的区分开发环境详解

    iOS使用Target如何快速科学的区分开发环境详解

    这篇文章主要给大家介绍了关于iOS使用Target如何快速科学的区分开发环境的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • iOS UIAlertController中UITextField添加晃动效果与边框颜色详解

    iOS UIAlertController中UITextField添加晃动效果与边框颜色详解

    这篇文章主要给大家介绍了关于iOS UIAlertController中UITextField添加晃动效果与边框颜色的相关资料,实现后的效果非常适合在开发中使用,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面随着小编来一起看看吧。
    2017-10-10
  • ios中getTime()的兼容性实例代码

    ios中getTime()的兼容性实例代码

    在本篇文章里小编给大家整理的是关于ios中getTime()的兼容性实例代码,需要的朋友们可以学习下。
    2020-03-03
  • iOS实现支持小数的星星评分组件实例代码

    iOS实现支持小数的星星评分组件实例代码

    程序中需要打分的功能,在网上找了几个,都不是很满意。所以自己动手实现了一个,下面这篇文章主要给大家介绍了关于利用iOS实现支持小数的星星评分组件的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 实例讲解如何在iOS应用开发中使用设计模式中的代理模式

    实例讲解如何在iOS应用开发中使用设计模式中的代理模式

    这篇文章主要介绍了实例讲解如何在iOS应用开发中使用设计模式中的代理模式,示例为传统的Objective-C语言代码,需要的朋友可以参考下
    2016-03-03
  • iOS常用小功能(获得屏幕图像、压缩图片、加边框、调整label的size)

    iOS常用小功能(获得屏幕图像、压缩图片、加边框、调整label的size)

    本文主要介绍了iOS常用小功能:获得屏幕图像,label的动态size,时间戳转化为时间,RGB转化成颜色,加边框,压缩图片,textfield的placeholder,图片做灰度处理的方法。下面跟着小编一起来看下吧
    2017-03-03
  • iOS中关于UIWindow和statusbar的设置问题

    iOS中关于UIWindow和statusbar的设置问题

    最近在做开发时要做一个类似于UIAlertView的控件,做法是创建一个基于UIView的类,在里面进行自定义控件的设置,为了尽量模仿UIAlertView,在这个类里面创建了一个新的UIWindow并将self显示到这个window上
    2017-03-03

最新评论