IOS网络请求

IOS网络请求


IOS网络请求操作流程

1. 构造NSUSL对象
2. 构造NSURLRequest请
3. 调用NSURLConnection发送请求
4. 返回NSURLRespond响应对象和NSError实例对象
5. 通过NSURLRespond得到数据

//同步请求
NSURL *url = [NSURL URLWithString:  @"http://www.baidu.com/s?tn=baiduhome_pg&bs=NSRUL&f=8&rsv_bp=1&rsv_spt=1&wd=NSurl&inputT=2709"];     
NSLog(@"Scheme: %@", [url scheme]);    
NSLog(@"Host: %@", [url host]);    
NSLog(@"Port: %@", [url port]);        
NSLog(@"Path: %@", [url path]);        
NSLog(@"Relative path: %@", [url relativePath]);   
NSLog(@"Path components as array: %@", [url pathComponents]);           
NSLog(@"Parameter string: %@", [url parameterString]);      
NSLog(@"Query: %@", [url query]);          
NSLog(@"Fragment: %@", [url fragment]);  
NSLog(@"User: %@", [url user]);  
NSLog(@"Password: %@", [url password]); 

NSURLRequest * urlRequest = [NSURLRequest requestWithURL:url];
NSURLResponse * response = nil;
NSError * error = nil;
NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest
                                          returningResponse:&response
                                                      error:&error];
//或者
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setHTTPMethod:@"GET"];
[request setURL:url];
[request setTimeoutInterval:60];
    
NSURLResponse *response;
//发送同步请求
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

<pre name="code" class="plain">if (error == nil)
{
        // 处理数据
}

//异步请求
NSURLConnection connectionWithRequest:request delegate:self];
#pragma mark - NSURLConnection delegate
//数据加载过程中调用
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
}
//数据加载完成后调用
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
}
//数据加载失败后调用
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
}
//或者
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse* respone, NSData* data, NSError* error){}];

[
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值