关于网络-get/post
关于网络:
//英译 connection:连接 append:添加 resign:放弃
// 加载网页数据 步骤
[self.webView loadRequest:request];
NSURLRequest-》NSURL
[self.webView loadHTMLString:(NSString *) baseURL:(NSURL *)];
baseURL:http://m.baidu.com
NSURLConnection(连接)-》start(开始连接)-》数据初始化(预备)-》拼接数据(拿到)-》数据+编码转化字符串(完成)-》处理显示(完成)-》解决错误提示
//TextFiled想要交互(设置代理,调用一个代理方法)
例如:获取文本框文字,基本都是代理方法
判断字符串有没有,判断其长度即可
//字符串<-->的转化
DATA->字符串:[[NSString alloc] initWithData
字符串->DATA:[str dataUsingEncoding:NSUTF8StringEncoding]
//GET/
GET请求是直接从服务器拿数据
性能好,效率高,在地址栏会显示参数,从直观上安全性能不高,
由于GET不提交数据给服务器,因此实际的安全性高
实际应用:查询数据
具体实现:
//POST/
POST请求,需要弄个数据体,提交给服务器,才能获取服务器的响应
性能不好,效率低,不会在地址栏显示参数,直观的安全性能高
由于POST请求提交给数据给服务器,可能会存在安全漏洞,实际的安全性不高
实际应用:用户登录,上传文件,需要和服务器交互,用POST
//实现POST请求:-------
NSURL *url=[NSURL URLWithString:@""];//是输入账号密码后服务器响应后的网络地址
//发送post请求
//封装请求
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0];
request.HTTPMethod=@"POST";
NSString *str=@"数据体字符串";//当用户发送请求,通过火狐拦截到的数据体
NSData *bodyData= [str dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPBody=bodyData;
NSURLResponse *response=nil;
//账号登录一般是同步请求
NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
NSString *result=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",result);
//向服务器发送同步请求sync 获取数据
--应用场景:例如网银账户的登录,一定要获取到网络返回的数据后,才能进行下一步操作场景,用户登录
获取请求-request -->连接发送同步请求(返回data)->data转为字符串
NSData *data=[NSURLConnection sendSynchronousRequest:request returningRespones &reponse error:&error]
//向服务器发送异步请求async 获取数据
获取请求-request -->连接发送异步请求(返回data)->data转为字符串
NSData *data=[NSURLConnection AsendSynchronousRequest:request queue:queue completionhandler:^(block)];
//webView使用
打开网页,文档等
通常加载html/htm,pdf,docx,txt等格式文件
@"加载文件"
[_webView loadData:(NSData *)MIMEType:(MIMEType) textEncodingName:@"UTF-8" baseURL:nil]
调用webView的loadData对象方法,需要两个参数一个数据DATA本身,一个MIMEType(即为数据类型)
MIMEType:告诉浏览器发送的多媒体的数据类型
MIMEType是通过Respones来获得的/(response.MIMEType)
获取MIMEType步骤如下:
通过调用NSURLConnection send同步连接 返回的responce拿到responce.MIMEType 从而拿到文件的MIMEType
调用NSURLConnection的同步连接方法需要 封装request参数
拿到文件的URL-》封装request
@"获取本地文件的URL路径" Resource:资源 extension:扩展
NSURL *url =[[NSBundle mainBundle] URLForResource:@"kk.txt"
withExtension:nil];
@"获取本地文件的字符串路径"
NSString *str=[NSBundle mainBundle] pathForResource:(NSString *) ofType:(NSString *)
关于网络-get/post的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- 猫哥网络编程系列:HTTP PEM 万能调试法
注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新. 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑 ...
- C# 利用性能计数器监控网络状态
本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态.并能够直观的展现出来 涉及到的知识点: PerformanceCounter,表示 Windows NT 性能计数器 ...
- nginx源码分析之网络初始化
nginx作为一个高性能的HTTP服务器,网络的处理是其核心,了解网络的初始化有助于加深对nginx网络处理的了解,本文主要通过nginx的源代码来分析其网络初始化. 从配置文件中读取初始化信息 与网 ...
- [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化
KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...
- [原] KVM虚拟机网络闪断分析
背景 公司云平台的机器时常会发生网络闪断,通常在10s-100s之间. 异常情况 VM出现问题时,表现出来的情况是外部监控系统无法访问,猜测可能是由于系统假死,OVS链路问题等等.但是在出现网络问题的 ...
随机推荐
- js base64加密,后台解密
这是为了解决页面发送post请求,传输密码,在页面的控制台可以看到密码的明文,所以先用base64把要传输的密码转换为非明文,然后在后台解密处理. base64encode.js // base64加 ...
- JavaScript中map函数和filter的简单举例(转)
js的数组迭代器函数map和filter,可以遍历数组时产生新的数组,和python的map函数很类似1)filter是满足条件的留下,是对原数组的过滤:2)map则是对原数组的加工,映射成一一映射的 ...
- Mongo运行错误:Failed to connect 127.0.0.1:27017,reason:errno:10061由于目标计算机积极拒绝,无法连接
Mongo运行错误:如下 原因是mongodb的服务没有开启,开启服务后问题就能解决了,开启服务命令:mongod --dbpath "d:\mongodb\data 只要操作mongodb ...
- 为开发者准备的 Android 函数库(2016 年版)
转载:http://www.androidchina.net/5922.html第三方函数库(译者注:包括第三方提供的 SDK,开源函数库)以惊人的方式助力着 Android 开发,借助这些其他开发人 ...
- 【poj1737】 Connected Graph
http://poj.org/problem?id=1737 (题目链接) 题意 求n个节点的无向连通图的方案数,不取模w(゚Д゚)w Solution 刚开始想了个第二类斯特林数,然而并不知道怎么求 ...
- Bzoj1176 [Balkan2007]Mokia
Time Limit: 30 Sec Memory Limit: 162 MBSubmit: 2000 Solved: 890 Description 维护一个W*W的矩阵,初始值均为S.每次操作 ...
- 做一个阅读管理APP
背景 由于最近在看的书有点多,所以一直想找一个能够管理阅读进度的书(鄙人记性不是很好,两天不看就忘了)可惜Android平台上一直找不到合适的APP: 有没有读书进度管理的网站或软件啊? 有没有记录读 ...
- CSS3学习(圆角、图片、阴影、背景、渐变、文本、字体、2D、3D、过渡等)
matrix CSS3 1. 圆角 border-radius:边框圆角的圆角半径 四个值:第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角. 三个值:第一个值为左上角, 第二 ...
- ArcGIS Server开发教程系列(7)使用ArcGIS API for Javascript-Hello World
ArcGIS API for Javascript API下载地址:http://support.esrichina-bj.cn/2011/0223/960.html 选择最新的下载就好了,目前是3 ...
- bzoj1734 愤怒的牛
Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...