同步的 get 请求

#pragma mark - 同步的 get 请求
- (IBAction)GETSynButtonDidClicked:(UIButton *)sender { // 1、网址里面必须写 http://
NSString *urlString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213"; // 2、假设网址有汉字须要转换(没有汉字也能够写)
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; // 3、依据字符串创建 url(统一资源定位符)
NSURL *url = [NSURL URLWithString:urlString]; // 4、依据 url 创建 request 请求类的对象
NSURLRequest *request = [NSURLRequest requestWithURL:url]; // 5、開始去请求网络、数据(同步) 返回data
NSData *receiveData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; // 6、系统自带json解析
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:receiveData options:(NSJSONReadingMutableContainers) error:nil]; NSArray *array = dict[@"news"]; self.newsArray = [NSMutableArray array]; for (NSDictionary *smallDict in array) {
NewsModal *modal = [[NewsModal alloc] init];
[modal setValuesForKeysWithDictionary:smallDict];
[self.newsArray addObject:modal];
} for (NewsModal *modal in self.newsArray) {
NSLog(@"%@", modal.title);
}
}

异步的 get 请求

#pragma mark - 异步的 get 请求
- (IBAction)GETAsyButtonDidClicked:(UIButton *)sender { // 1、拼接 urlString,网址里面必须写 http://
NSString *urlString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx? date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213"; // 2、依据字符串创建 URL(统一资源定位符)
NSURL *url = [NSURL URLWithString:urlString]; // 3、依据 url 创建 request 请求类的对象
NSURLRequest *request = [NSURLRequest requestWithURL:url]; // 4、開始去请求网络、数据(同步) 返回data
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { // 5、系统自带json解析
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil]; NSArray *array = dict[@"news"]; self.newsArray = [NSMutableArray array]; for (NSDictionary *smallDict in array) {
NewsModal *modal = [[NewsModal alloc] init];
[modal setValuesForKeysWithDictionary:smallDict];
[self.newsArray addObject:modal];
} for (NewsModal *modal in self.newsArray) {
NSLog(@"%@", modal.title);
} }];
}

iOS_GET_网络请求的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. Android之三种网络请求解析数据(最佳案例)

    AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法. ...

  3. IOS开发之—— 在AFN基础上进行的网络请求的封装

    网络请求的思路:如果请求成功的话AFN的responseObject就是解析好的. 1发送网络请求:get/post/或者别的 带上URL,需要传的参数 2判断后台网络状态码有没有请求成功: 3 请求 ...

  4. Android,适合Restful网络请求封装

    借助volley.Gson类库. 优点 网络请求集中处理,返回值直接为预期的对象,不需要手动反序列,提高效率,使用时建立好model类即可. 使用效果 DataProess.Request(true, ...

  5. Android okHttp网络请求之Json解析

    前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...

  6. 阶段一:通过网络请求,获得并解析JSON数据(天气应用)

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...

  7. NSURLSession网络请求

    个人感觉在网上很难找到很简单的网络请求.或许是我才疏学浅 ,  所有就有了下面这一段 , 虽然都是代码 , 但是全有注释 . //1/获取文件访问路径 NSString *path=@"ht ...

  8. 【Swift】Alamofile网络请求数据更新TableView的坑

    写这篇BLOG前,有些话不得不提一下,就仅当发发恼骚吧... 今天下午为了一个Alamofire取得数据而更新TableView的问题,查了一下午的百度(360也是见鬼的一样),竟然没有一个简单明了的 ...

  9. 【WP8.1】HttpClient网络请求、进度以及终止

    工作这么长时间,起初还是喜欢用面向程序过程的思路去写代码. 慢慢的才会用面向对象的思路分析.解决问题.也算是一点点进步吧. 最近在做一个下载音乐的功能.用到了HttpClient类. 于是就简单的写了 ...

随机推荐

  1. JMeter 性能测试进阶实战

    课程简介 本课程制作的主要目的是为了让大家快速上手 JMeter,期间穿插了大量主流项目中用到的技术,以及结合当今主流微服务技术提供了测试 Dubbo 接口.Java 工程技术具体实施方案,注重实践. ...

  2. 二进制包部署Kubernetes集群

    今天这篇文章教给大家如何快速部署一套Kubernetes集群.K8S集群部署有几种方式:kubeadm.minikube和二进制包.前两者属于自动部署,简化部署操作,我们这里强烈推荐初学者使用二进制包 ...

  3. 调试Java代码(Eclipse)汇总

    Java 10个调试技巧(基础❤❤❤❤❤) Eclipse断点调试(和上一篇基本类似,补充❤❤) 使用Eclipse开发和调试java程序(从安装eclipse开始,特别细,有设置条件断点,回退的具体 ...

  4. Java 学习(1): windows java 运行& 环境配置

    Java 文件的运行 如下,创建了一个 名为"HelloWorld.java" 的 Java 文件: public class HelloWorld { public static ...

  5. ubuntu运行android studio出错unable to run mksdcard sdk tool

    原因:缺少lib 解决方法: sudo apt-get install lib32z1 lib32ncurses5  lib32stdc++6 完美解决.

  6. rsync Linux系统下的数据镜像备份工具

    rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了良好的 ...

  7. android 微信开发交流群

    有效期很短,可加个人微信 如果已过有效期,加我个人微信,我拉你进群

  8. Bzoj2829 信用卡凸包

    Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 333  Solved: 155 Description Input ...

  9. c#使用Split分割字符串的几种方法

    原文发布时间为:2009-03-07 -- 来源于本人的百度文章 [由搬家工具导入] 最近发现很多人在问在c#中使用Split等分割字符串的方法,今天有时间所以把使用Split等分割字符串的方法做了一 ...

  10. 了解 Oracle Berkeley DB 可以为您的应用程序带来 NoSQL 优势的原因及方式。

    将 Oracle Berkeley DB 用作 NoSQL 数据存储 作者:Shashank Tiwari 2011 年 2 月发布 “NoSQL”是在开发人员.架构师甚至技术经理中新流行的一个词汇. ...