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

iOS网络请求总结、GET、POST、同步、异步代码块、异步代理、第三方AFNetWorking2.0使用 iOS网络请求总结、GET、POST、同步、异步代码块、异步代理、第三方AFNetWorking2.0使用 首先需要明白, GET跟POST 区别: GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节; POST请求,将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获 阅读详情

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,

2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行

3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;

4、POST请求,将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。

 

0011、     同步GET请求
002 
003    //第一步,创建URL
004 
005    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
006 
007     
008 
009    //第二步,通过URL创建网络请求
010 
011    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
012 
013    //NSURLRequest初始化方法第一个参数:请求访问路径,第二个参数:缓存协议,第三个参数:网络请求超时时间(秒)
014 
015      其中缓存协议是个枚举类型包含:
016 
017      NSURLRequestUseProtocolCachePolicy(基础策略)
018 
019      NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存)
020 
021      NSURLRequestReturnCacheDataElseLoad(首先使用缓存,如果没有本地缓存,才从原地址下载)
022 
023      NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作)
024 
025      NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载)
026 
027      NSURLRequestReloadRevalidatingCacheData(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载)
028 
029    //第三步,连接服务器
030 
031    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
032 
033     
034 
035    NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
036 
037     
038 
039    NSLog(@"%@",str);
040 
0412、同步POST请求
042 
043    //第一步,创建URL
044 
045    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"];
046 
047    //第二步,创建请求
048 
049    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
050 
051    [request setHTTPMethod:@"POST"];//设置请求方式为POST,默认为GET
052 
053    NSString *str = @"type=focus-c";//设置参数
054 
055    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
056 
057    [request setHTTPBody:data];
058 
059    //第三步,连接服务器
060 
061     
062 
063    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
064 
065     
066 
067    NSString *str1 = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
068 
069     
070 
071    NSLog(@"%@",str1);
0723、异步GET请求
073 
074    //第一步,创建url
075 
076    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
077 
078    //第二步,创建请求
079 
080    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
081 
082    //第三步,连接服务器
083 
084    NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
0854、异步POST请求
086 
087    //第一步,创建url
088 
089    NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"];
090 
091    //第二步,创建请求
092 
093    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
094 
095    [request setHTTPMethod:@"POST"];
096 
097    NSString *str = @"type=focus-c";
098 
099    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
100 
101    [request setHTTPBody:data];
102 
103    //第三步,连接服务器
104 
105    NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
106 
1075、异步请求的代理方法
108 
109//接收到服务器回应的时候调用此方法
110 
111- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
112 
113{
114 
115    NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
116 
117    NSLog(@"%@",[res allHeaderFields]);
118 
119    self.receiveData = [NSMutableData data];
120 
121   
122 
123                               
124 
125}
126 
127//接收到服务器传输数据的时候调用,此方法根据数据大小执行若干次
128 
129-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
130 
131{
132 
133    [self.receiveData appendData:data];
134 
135}
136 
137//数据传完之后调用此方法
138 
139-(void)connectionDidFinishLoading:(NSURLConnection *)connection
140 
141{
142 
143    NSString *receiveStr = [[NSString alloc]initWithData:self.receiveData encoding:NSUTF8StringEncoding];
144 
145    NSLog(@"%@",receiveStr);
146 
147}
148 
149//网络请求过程中,出现任何错误(断网,连接超时等)会进入此方法
150 
151-(void)connection:(NSURLConnection *)connection
152 
153 didFailWithError:(NSError *)error
154 
155{
156 
157    NSLog(@"%@",[error localizedDescription]);
iOS小技能:发送HTTP请求的方案 基础概念一、网络基础:1、为什么要学习网络编程?网络编程是一种实时更新应用数据的常用手段1)通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力 2)移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据2、基本概念 客户端(Client):移动应用(iOS、android等应用) 服务器(Server):为客户端提供服务、提供数据、提供资源的机器 请求(Reques 阅读详情

相关推荐

logstash-filter-grok-4.3.0.tar.gz

logstash-filter-grok-4.3.0.tar.gz

iOS 网络请求接收数据流程 (NSURLRequest&NSURLConnection)

网络编程中一般都是经过  请求---》连接---》响应   (request  --》  connection  --》  response)这个过程。 一般的步骤是这样的: 1、先创建一个NSURL。 2、通过这个指定的URL创建NSURLRequest,这里还可以指定缓存策略和超时时间。 3、根据你的request创建NSURLConnection,并对你的connection进行响应

小邓笔记 6133

嵌入式状态机编程-QP状态机框架与常见状态机方法

状态机基本术语 现态:是指当前所处的状态。 条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。 次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。 传统有限状态机Fsm实现方法 如图,是一个定时计数器,计数器存在两种状态,一种为设置状态,一种为计时状态 设

qq_36969440的博客 9661

爬爬爬之路:UI(十四) 网络请求

上篇文章已经提到怎样解析数据, 也提到了怎样读取本地文件. 本文讲解的怎样从网络获取APP的真实数据.p.s 本文以Xcode6为环境, Xcode7在网络请求相关的类和方法中做了许多改动, 以下方法会在Xcode7中报黄. 有兴趣的同学可以自行查看Xcode7的网络请求写法. 以下以讲解步骤原理为主.代码展示在说明原理之前, 先贴上GET方法的同步请求代码, 和GET方法的两种异步请求代码 G

慢慢向上爬的蜗牛的博客 933

发那科FOCAS 1/2文档——核心库文件

在开始开发前,明确目标 CNC 的具体型号、连接方式(HSSB/TCP/IP)、软件版本和配置(如轴数、程序号位数),并据此正确配置开发环境和编译选项。开发时需要包含相应的头文件。这是开发跨平台应用时需要特别注意的地方。这是开发应用时必须了解的核心文件。

snailiot的博客 1019

基于Joplin和Joplin Server搭建私有云笔记

我们知道,多端同步功能是笔记工具最重要的功能。只有实现了多端同步,我们才能在工作电脑和手机之间无缝切换笔记体验。Joplin 在同步上做得不错,支持 Dropbox、OneDrive 和 AWS s3(当然国内都没法用),支持 WebDAV 协议,也支持自家的 Joplin Server。 本文介绍如何在自己的服务器上搭建 Joplin Server,并配置好 Joplin Desktop 的同步功能。 前置条件 安装docker 创建 Joplin Server 配置文件 创建配置文件,~/docke

代码时光 1万+

【get/post、同步/异步、阻塞/非阻塞】

提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

Your_Boy_Tt的博客 2043

安卓模拟器绕过检测全解析:雷电、MuMu、蓝叠、逍遥、夜神与WSA完整指南

随着手机游戏和应用的普及,越来越多的用户选择在PC上通过模拟器来运行安卓应用。然而,许多应用和游戏为了防止作弊或出于安全考虑,会检测是否运行在模拟器环境中。本文将详细介绍各大主流模拟器的检测绕过方法,帮助用户在电脑上流畅体验各类安卓应用。1. 获取模拟器系统镜像2. 使用ROM厨房工具修改系统文件3. 替换模拟器的系统镜像雷电模拟器:适合游戏,推荐使用MAGISK + EdXposed方案MuMu模拟器:适合中度游戏,推荐太极框架蓝叠模拟器:适合国际应用,推荐MAGISK方案逍遥模拟器。

专注技术分享 3万+

iOS上的http请求:get、post以及同步、异步

1、get: view sourceprint? 01.<span style="font-size:14px;">NSString * URLString = @"http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityDataset?theRegionCod

青春的岁月流逝 1207

【可信数据空间-部署方案】

此部署架构体现了以下几个核心原则:去中心化: 数据存储和处理完全分布在各个参与者端,运营方只提供核心的协调和信任基础设施。安全边界清晰: 通过VPC、DMZ、防火墙、K8s命名空间等技术,在每个层级都建立了严格的安全边界。高可用与弹性: 所有关键服务均以集群方式部署,避免单点故障,并能根据负载动态伸缩。云原生: 全面采用容器化和Kubernetes编排,简化部署、管理和运维复杂度。合规性: 架构设计天然满足数据驻留要求(数据留在企业本地),并为所有操作提供不可篡改的审计追踪能力。

u014716614的博客 771

国资e学快速学习实战教程

本文主要介绍了国资e学快速学习实战教程,希望能对同学们有所帮助。 文章目录 1. 前言 2. 实战教程

weixin_43178406的博客 11万+

IOS中get同步异步请求与post同步异步请求

纯代码IOS中get同步异步请求与post同步异步请求

sammyieveo的专栏 856

yolov5直接调用zed相机实现三维测距(python)

zed代码比较简洁,但是一定要把环境配置好,后续自己会把他当做普通双目标定,去对比分析效果,并完善相关功能。

积极向上的mr.d的博客 1万+

ios android 同步请求,iOS上的http请求:get、post以及同步、异步

1、get:02.NSURL* URL = [NSURL URLWithString:[URLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];03.04.NSURLRequest* request = [[NSURLRequest alloc]initWithURL:URL];05.NSURLRespo...

weixin_30650955的博客 417

4.26华为OD机试真题 新系统 - 端口流量统计 (Java/Py/C/C++/Js/Go)

本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 2331

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

可以运行测试的IOS同步请求、异步请求、GET请求、POST请求

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行 3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节; 4、POST请求,将参数放到body里

Flying_in_the_world的专栏 462

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【笔记】IOS之同步请求、异步请求、GET请求、POST请求

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行 3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节; 4、POST请求,将参数放到body里面...

125

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

iOS-网络-同步请求、异步请求、GET请求、POST请求

一、网络请求类型: 按照是否为同步分为两类:同步和异步;按照请求体样式又分为get和post两种。每类请求特点: 1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行 3、GET请求,将参数直接写在访问路径上。

xhxnudt的博客 372

IOS之同步请求、异步请求、GET请求、POST请求-日记

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行 3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节; 4、POST请求,将参数放到body里面。POST

niuemperor的专栏 560

IOS GET POST 同步 异步请求

iOS SDK为HTTP请求提供了同步和异步请求这两种不同的API,而且可以使用GET或POST等请求方法。下边主要编写了常用到的GET和POST方法。同步请求的用户体验不是很好,因此很多情况下我们会采用异步调用。而异步请求会使用NSURLConnection委托协议NSURLConnectionDataDelegate。在请求的不同阶段,会回调委托对象的不同方法。iOS 9.0已弃用[NSURL...

飞跃 Ni Wo Ta 1125
上一篇: ios中navigationItem的titleView如何居中
下一篇: 画线
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值