`
lxj8749
  • 浏览: 66628 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ios 异步 GET请求、POST请求

 
阅读更多
3、异步GET请求

    //第一步,创建url

    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];

    //第二步,创建请求

    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

    //第三步,连接服务器

    NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];

[connection start];


4、异步POST请求

    //第一步,创建url

    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"];

    //第二步,创建请求

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

    [request setHTTPMethod:@"POST"];

    NSString *str = @"type=focus-c";

    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

    [request setHTTPBody:data];

    //第三步,连接服务器

    NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];

5、异步请求的代理方法

//接收到服务器回应的时候调用此方法

- (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同步、异步、get与post请求介绍

    POST请求将参数封装在HTTP请求体(body)中,相比GET请求,它能安全地传递大量和敏感数据。POST请求的安全性较高,因为参数不直接暴露在URL上。然而,POST请求的实现相对复杂,需要设置HTTP方法为"POST",并设置...

    iOS之同步请求、异步请求、GET请求、POST请求

    异步GET请求的示例代码如下: ```swift let url = URL(string: "http://api.hudong.com/iphonexml.do?type=focus-c")! var request = URLRequest(url: url) request.httpMethod = "GET" let task = URLSession....

    iOS 同步异步网络请求

    在iOS中,POST请求可以通过`NSURLSession`的`dataTaskWithRequest:completionHandler:`方法实现,或者使用第三方库如Alamofire。POST请求的数据包含在请求体中,因此可以传输大量数据,且不显示在URL上,更安全。 3...

    ios-封装GET、POST请求(基于AFNetworking).zip

    本项目"ios-封装GET、POST请求(基于AFNetworking).zip"就是针对AFNetworking进行二次封装,简化了GET和POST请求的使用方式,使得开发者能够更加高效地进行网络编程。 首先,我们来看一下AFNetworking的核心组件。...

    全面解析iOS中同步请求、异步请求、GET请求、POST请求

    总之,理解同步和异步请求以及GET和POST请求的区别对于iOS开发者来说至关重要。根据具体需求选择合适的请求方式,可以优化用户体验并确保数据的安全传输。在实际开发中,应当充分利用异步请求的优势,同时考虑数据...

    iOS异步队列下载

    总之,iOS异步队列下载利用ASIHTTPRequest库实现了高效、可控的多任务下载,不仅提高了下载效率,还确保了良好的用户交互体验。理解和掌握这些知识点对于iOS开发者来说至关重要,特别是对于那些需要处理大量网络请求...

    IOSget请求

    如果必须传递敏感信息,考虑使用POST请求或HTTPS加密连接。 2. 优化:为提高性能,可以考虑缓存GET请求的结果。URLSession支持缓存策略,Alamofire也有相应的配置选项。 六、异步处理 在iOS应用中,网络请求通常...

    ios开发 HTTP请求方法

    5. **URLSessionDataTask**: 当需要发起GET或POST请求时,可以创建一个`NSURLSessionDataTask`。对于GET请求,直接调用`dataTaskWithURL:completionHandler:`方法;对于POST请求,可以使用`dataTaskWithRequest:...

    ios-AFN封装,GET POST 缓存.zip

    本压缩包"ios-AFN封装,GET POST 缓存.zip"提供了AFNetworking的封装,涵盖了GET、POST请求以及缓存管理,这对于提高应用性能和用户体验至关重要。以下将详细介绍AFN封装中的核心概念和实现方法。 首先,...

    IOS Http请求Demo

    在iOS应用中,我们通常使用HTTP来发送GET和POST请求,获取或提交数据。 异步HTTP请求是iOS开发中的核心概念,它使用了GCD(Grand Central Dispatch)或者NSOperationQueue来避免阻塞主线程,确保用户界面的流畅性。...

    ios 利用http 向服务器请求数据

    异步POST请求的实现方式与异步GET请求类似,只是需要设置请求体: ```swift let url = URL(string: "http://example.com/api/submit")! var request = URLRequest(url: url) request.httpMethod = "POST" request....

    AfnetWorking网络请求demo(get/post)

    本教程将详细讲解如何使用AfNetworking进行GET和POST请求的实现,通过`AfnetWorking网络请求demo(get/post)`实例来深入理解其工作原理。 首先,我们了解下AfNetworking的基本概念。AfNetworking是一个基于Objective...

    网络异步请求

    3. **设置请求参数**: 对于POST请求,可以使用`[request setPostValue: forKey:]`来设置POST参数。 4. **开始异步请求**: 调用`[request startAsynchronous]`开始异步请求。 5. **监听请求状态**: 实现...

    iOS Http 网络请求(目前最流行的AFNetworking)

    对于POST请求,你可以通过`POST`方法来实现,同样提供成功和失败的回调。参数可以以字典形式附加到请求体: ```objc NSDictionary *parameters = @{@"key": @"value"}; [manager POST:@...

    ios-网络请求封装.zip

    1. **基础接口设计**:定义基础的请求方法,如GET、POST,以及可能的PUT、DELETE等HTTP方法。这些方法应接受URL、参数、请求头等信息作为输入,并返回一个表示请求状态的Block或者Promise,用于处理请求结果。 2. *...

    ios-网络请求.zip

    3. **异步请求**: iOS中的网络请求通常为异步,这意味着应用可以在等待服务器响应的同时继续执行其他任务,提高用户体验。使用completionHandler或者block来处理回调结果。 4. **数据任务(Data Tasks)**: ...

    oc-原生网络请求

    OC中的POST请求同样可以使用`NSURLSession`或`NSURLConnection`实现。 ```objc NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *session ...

    ios-网络请求工作.zip

    2. **网络请求的基本流程**:首先,创建一个AFHTTPRequestOperationManager实例,配置基础URL和所需的请求方法(GET、POST等)。然后,设置请求参数,如HTTP头信息、URL参数和请求体。最后,通过manager发送请求,并...

    改进版 iOS 网络请求类库ASIHTTPRequest

    - 通过 `-setRequestMethod:` 设置请求方法,如 `GET` 或 `POST`。 - `-addData:withKey:` 用于 POST 请求时添加表单数据。 - `-addRequestHeader:forKey:` 用于设置自定义请求头。 2. **异步与同步请求**: - ...

Global site tag (gtag.js) - Google Analytics