IOS开发—网络请求之GET/POST同步请求
2015-03-19 09:11
477 查看
网络请求之GET/POST同步请求
同步请求的特点:发送同步请求的时候,无法与应用进行交互。发送同步请求的方法:
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)requestreturningResponse:(NSURLResponse **)response error:(NSError **)error;
代码实例:
#import "LXXViewController.h" #define URL_WITH_PARAM @"http://kaiyi.3tichina.com:8001/mall/list.php?page=1&catid=4"; #define URL_WITHOUT_PARAM @"http://kaiyi.3tichina.com:8001/mall/list.php"; #define PARAM @"page=1&catid=4"; @interface LXXViewController () @property (weak,nonatomic) IBOutletUIImageView *imageView; @property (weak,nonatomic) IBOutletUIButton *loadButton; @property (strong,nonatomic) NSMutableURLRequest *request; @property (copy,nonatomic) NSString *imgURLString; @property (strong,nonatomic) NSData *responseData; @end @implementationLXXViewController - (void)viewDidLoad { [super viewDidLoad]; self.title =@"网络请求Demo"; //设置请求 [self setRequest]; } #pragma mark - setRequest - (void)setRequest { //get同步请求 NSString *str = URL_WITH_PARAM; NSURL *URL = [NSURLURLWithString:str]; _request = [NSMutableURLRequestrequestWithURL:URL]; _responseData = [NSURLConnectionsendSynchronousRequest:_requestreturningResponse:nilerror:nil]; //post同步请求 // NSString *str = URL_WITHOUT_PARAM; // NSURL *URL = [NSURL URLWithString:str]; // _request = [NSMutableURLRequestrequestWithURL:URL]; // [_request setHTTPMethod:@"POST"]; // NSString *param = PARAM; // NSData *data = [paramdataUsingEncoding:NSUTF8StringEncoding]; // //设置请求提(参数) // [_request setHTTPBody:data]; // _responseData = [NSURLConnectionsendSynchronousRequest:_request returningResponse:nil error:nil]; } - (IBAction)loadAction:(id)sender { //下面代码不是本文关键 //解析请求响应数据,获取到响应数据中的一个图像URL,再次请求显示在imageView出来,以放大请求结果。 NSDictionary *dic = [NSJSONSerializationJSONObjectWithData:_responseDataoptions:NSJSONReadingMutableLeaveserror:nil]; NSArray *arr = [dic objectForKey:@"data"]; NSDictionary *dicData = [arrobjectAtIndex:0]; _imgURLString = [dicData objectForKey:@"thumb"]; NSURL *imageURL = [NSURLURLWithString:_imgURLString]; NSURLRequest *request = [[NSURLRequestalloc]initWithURL:imageURLcachePolicy:NSURLRequestReloadIgnoringLocalCacheDatatimeoutInterval:10.0]; NSData *data = [NSURLConnectionsendSynchronousRequest:request returningResponse:nil error:nil]; UIImage *image = [UIImageimageWithData:data]; _imageView.image = image; } @end
点击button后的界面效果:(从网络上加载出了指定图像)
相关文章推荐
- IOS开发之NSURL网络请求,同步异步,GET,POST
- iOS开发:网络请求之get、post同步异步请求
- IOS开发笔记-NSURLConnection同步请求和异步请求以及get方法,post方法
- iOS开发那些事-iOS网络编程同步GET方法请求编程
- IOS开发之网络同步GET请求
- iphone 开发第七天 - IOS之同步请求、异步请求、GET请求、POST请求
- iOS开发那些事-iOS网络编程同步GET方法请求编程
- iOS- 网络开发GET请求和POST请求实现ip地址来源查询
- IOS开发 网络详解(三)--- Http请求报文和响应报文(Get和Post)
- iOS网络开发—POST请求和GET请求
- iOS陆哥开发笔记(二十七) (同步、异步请求, GET、POST请求)
- iOS海哥开发笔记 (海哥原创,iOS 之同步请求、异步请求、GET请求、POST请求 )
- iOS网络请求总结、GET、POST、同步、异步代码块、异步代理、第三方AFNetWorking2.0使用
- iOS 网络请求数据 同步请求、异步请求、GET、POST请求
- iOS网络编程开发GET请求和POST请求
- iOS开发之网络编程篇二:Get,Post请求差异及用法
- iOS开发-Get请求,Post请求,同步请求和异步请求
- 【iOS开发-网络】使用NSURLSessionDataTask发送get和post请求
- iOS开发 -- GET 和 POST请求(同步异步链接)
- IOS开发—网络请求之GET/POST异步请求(非代理)