iOS开发网络篇—GET请求和POST请求

iOS开发网络篇—GET请求和POST请求

一:GET请求
1.  异步

    NSString *URLString = @"http://www.baidu.com"; // 请求地址 (不能为中文,事实上所有的网络请求地址都不能为中文要UTF-8下)

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:URLString]];

    [NSURLConnection sendAsynchronousRequest:request

                                       queue:[NSOperationQueue new]

                           completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError)

     {

        

    }];

2. 同步

NSString *URLString = @"http://www.baidu.com"; // 请求地址 (不能为中文,事实上所有的网络请求地址都不能为中文要UTF-8下)

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:URLString]];

    NSError *error = nil;

    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];



二。 POST请求


2.1.同步

// 1.设置请求路径

    NSURL *URL=[NSURL URLWithString:@"http://192.168.2.33:8080/TestServer/login"];//不需要传递参数

    

    //    .创建请求对象

    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求

    request.timeoutInterval=5.0;//设置请求超时为5

    request.HTTPMethod=@"POST";//设置请求方法

    

    //设置请求体

    NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",@"uu",@"pp"]; // 不能为中文

    //把拼接后的字符串转换为data,设置请求体

    request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];

    

    //    发送请求

    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue new] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

        

    }];


2.2 :同步请求

// 设置请求路径

    NSURL *URL=[NSURL URLWithString:@"http://192.168.2.33:8080/TestServer/login"];//不需要传递参数

    

    //    .创建请求对象

    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求

    request.timeoutInterval=5.0;//设置请求超时为5

    request.HTTPMethod=@"POST";//设置请求方法

    

    //设置请求体

    NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",@"uu",@"pp"]; // 不能为中文

    //把拼接后的字符串转换为data,设置请求体

    request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];

    

    //   .发送请求

    NSData  *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

    

三:网络请求框架

https://github.com/wolvesqun/IOS-WFAsyncHttp (WFAsyncHttp)

此请求框架主要封装了IOS的Http请求,封装了同步请求(WFSyncHttpClient.h)与异步请求(WFAsyncHttpManager.h | WFAs yncHttpClient.h),两种请求方式都有POST请求和GET请求,其中WFAsyncHttpClient.h还封装了系统的请求(系统请求是采取队列方式), 当然,此框架还提供设置请求头。最重要的是还提供了缓存策略,目前只提供四种。还有封装了网页缓存功能,和图片缓存功能。 具体使用如下:

注意
  1. 所有的请求都必须传入URLString,以及成功|失败回调,其它参数根据需要引入
  2. 缓存策略:
      2.1. WFAsyncCachePolicyType_Default = 0, // *** 不提供缓存
      2.2. WFAsyncCachePolicyType_ReturnCache_DontLoad = 1, // *** 返回缓存不请求网络
      2.3. WFAsyncCachePolicyType_ReturnCache_DidLoad = 2,  // *** 返回缓存并且加载
      2.4. WFAsyncCachePolicyType_Reload_IgnoringLocalCache = 3,   // *** 忽略本地缓存并加载 (使用在更新缓存)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值