//get同步

- (IBAction)getT:(id)sender {

//准备一个Url

NSURL *url=[NSURL URLWithString:BASE_URL];

//创建一个请求对象

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];

//选择请求方式

[request setHTTPMethod:@"GET"];

//创建响应对象

NSURLResponse *response=nil;

//是否出错

NSError *error=nil;

//创建连接

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

//解析数据

NSArray*arr=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];

//转换成字符串

NSString *s=[NSString stringWithFormat:@"%@",arr];

//打印

NSLog(@"%@",s);

}

*******************************************

//POST  同步

- (IBAction)postT:(id)sender {

//准备一个url

NSURL *url=[NSURL URLWithString:BASE_URL_2];

//创建一个请求对象

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];

//body

NSData *databody=[BASE_URL_2_PARAM dataUsingEncoding:NSUTF8StringEncoding];

//给请求设置body

[request setHTTPBody:databody];

//创建连接

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

//数据解析

NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];

NSString *s=[NSString stringWithFormat:@"%@",dic];

NSLog(@"%@",s);

}

*****************************

//GET 异步  代理

- (IBAction)getYBDL:(id)sender {

//准备 URl

NSURL *url=[NSURL URLWithString:BASE_URL];

//创建请求对象

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"GET"];

//创建链接(同时设置代理)

NSURLConnection*conn=[NSURLConnection connectionWithRequest:request delegate:self];

//启动链接

[conn start];

}

//代理方法一 :接收到响应

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

{

self.redata=[NSMutableData data];

}

//代理方法二:接收数据

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

[self.redata appendData:data];

}

//代理方法三:接收完成处理数据

-(void)connectionDidFinishLoading:(NSURLConnection *)connection

{

//数据处理

NSArray *arr=[NSJSONSerialization JSONObjectWithData:self.redata options:(NSJSONReadingMutableContainers) error:nil];

NSString *s=[NSString stringWithFormat:@"%@",arr];

NSLog(@"%@",s);

}

//代理方法四:出错

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

{

}

******************************************************

//POST异步 block

- (IBAction)postBLOCK:(id)sender {

//准备url

NSURL *url=[NSURL URLWithString:BASE_URL_2];

//创建请求对象

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];

//加body

NSData *databody=[BASE_URL_2_PARAM dataUsingEncoding:NSUTF8StringEncoding];

[request setHTTPBody:databody];

//创建连接

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

//解析数据

NSArray *arr=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];

//转换数据

NSString *s=[NSString stringWithFormat:@"%@",arr];

//打印

NSLog(@"%@",s);

}];

}

***************************************************

//GET异步 block

- (IBAction)getBLOCK:(id)sender {

NSURL *url=[NSURL URLWithString:BASE_URL];

NSURLRequest *request=[NSURLRequest requestWithURL:url];

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

NSArray *arr=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];

NSString *s=[NSString stringWithFormat:@"%@",arr];

NSLog(@"%@",s);

}];

}

网络解析 get 和post的更多相关文章

  1. IOS 网络解析

    网络解析同步异步 /*------------------------get同步-------------------------------------*/ - (IBAction)GET_TB:( ...

  2. 【读书笔记】iOS网络-解析响应负载

    Web Service可以通过多种格式返回结构化数据, 不过大多数时候使用的是XML与JSON.也可以让应用只接收HTML结构的数据.实现了这些Web Service或是接收HTML文档的应用必须能解 ...

  3. GET/POST请求的使用《极客学院 --AFNetworking 2.x 网络解析详解--2》学习笔记

    AFNetworking是开源代码排名第一的开源库.  GET请求的请求正文 一般都是明文显示的,携带的数据量小. POST用于处理复杂的业务,并不用明文的请求,其实POST请求可以携带更多的参数,只 ...

  4. docker网络解析

    Docker概念和默认网络 什么是Docker网络呢?总的来说,网络中的容器们可以相互通信,网络外的又访问不了这些容器.具体来说,在一个网络中,它是一个容器的集合,在这个概念里面的一个容器,它会通过容 ...

  5. openshift pod对外访问网络解析

    openshift封装了k8s,在网络上结合ovs实现了多租户隔离,对外提供服务时报文需要经过ovs的tun0接口.下面就如何通过tun0访问pod(172.30.0.0/16)进行解析(下图来自理解 ...

  6. 网络请求的基本知识《极客学院 --AFNetworking 2.x 网络解析详解--1》学习笔记

    网络请求的基本知识   我们网络请求用的是HTTP请求 Http请求格式:请求的方法,请求头,请求正文 Http请求的Request fields:请求的头部,以及被请求头部的一些设置 Http请求的 ...

  7. 网络解析之XML及JSON

    首先要加入类库GDataXMLNode和JSON 解析本地文件Students.txt <students> <student> <name>汤姆 </nam ...

  8. 网络解析(一):LeNet-5详解

    https://cuijiahua.com/blog/2018/01/dl_3.html 一.前言 LeNet-5出自论文Gradient-Based Learning Applied to Docu ...

  9. Kubernetes pod网络解析

    在Kubernetes中,会为每一个pod分配一个IP地址,pod内的所有容器都共享这个pod的network namespace,彼此之间使用localhost通信. 那么pod内所有容器间的网络是 ...

随机推荐

  1. Android 6.0权限问题

    Android 6.0 open failed: EACCES (Permission denied) 对于6.0+权限问题,报错如上: 解决方案: Android 6.0 (Marshmallow) ...

  2. 使用ThinkPHP开发中MySQL性能优化的最佳21条经验

    使用ThinkPHP开发中MySQL性能优化的最佳21条经验讲解,目前,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更 ...

  3. wordpress一些常用代码

    显示最新文章 <div id="newpost"> <h2> 最新文章</h2> <?php $previous_posts = get_ ...

  4. Flask把变量注册到模板中

    使用python的Flask框架时,参考<Flask Web开发>一书时,发现书中可以在全局使用Permission.FOLLOW变量. 但是自己在尝试是,确提示变量没有定义.经过搜索,找 ...

  5. Number Sequence (HDoj1005)

    Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1 ...

  6. Ubuntu配置OpenGL环境

    建立基本编译环境 sudo apt-get install build-essential 安装OpenGL Library sudo apt-get install libgl1-mesa-dev ...

  7. Http和Socket连接

    转自http://hi.baidu.com/%D2%B9%D1%A9%B3%E6/blog/item/d6a72d2bbf467cf2e7cd406d.html 相信不少初学手机联网开发的朋友都想知道 ...

  8. 一个简化的printf函数

    <C和指针>第7章第5道编程题: 实现一个简化的printf函数,它能够处理%d.%f.%s 和 %c 格式码,根据ANSI标准的原则,其他格式码的行为是未定义的.你可以假定已经存在函数 ...

  9. C/S与B/S

    C/S架构简要介绍 在了解什么是B/S架构之前,我们有必要了解一下什么是C/S架构: C/S架构是第一种比较早的软件架构,主要用于局域网内.也叫 客户机/服务器模式. 它可以分为客户机和服务器两层:第 ...

  10. JAVA中synchronized和lock详解

         目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea.本文并不比较synchronize ...