关于网络:

//英译  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的更多相关文章

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

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

  2. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  3. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  4. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  5. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  6. 猫哥网络编程系列:HTTP PEM 万能调试法

    注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新. 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑 ...

  7. C# 利用性能计数器监控网络状态

    本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态.并能够直观的展现出来 涉及到的知识点: PerformanceCounter,表示 Windows NT 性能计数器 ...

  8. nginx源码分析之网络初始化

    nginx作为一个高性能的HTTP服务器,网络的处理是其核心,了解网络的初始化有助于加深对nginx网络处理的了解,本文主要通过nginx的源代码来分析其网络初始化. 从配置文件中读取初始化信息 与网 ...

  9. [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化

    KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...

  10. [原] KVM虚拟机网络闪断分析

    背景 公司云平台的机器时常会发生网络闪断,通常在10s-100s之间. 异常情况 VM出现问题时,表现出来的情况是外部监控系统无法访问,猜测可能是由于系统假死,OVS链路问题等等.但是在出现网络问题的 ...

随机推荐

  1. JavaScript模板引擎artTemplate.js——template.compile()方法

    template.compile(source, options) source:必传,渲染模板的内容. options:可选,通常不传.(其实是我还没研究明白) return:一个渲染函数. 示例如 ...

  2. AsyncTask的初步了解

    下面以下载图片并显示为例: 首先我们需要知道的是AsyncTask是对线程池+Handler的进一步封装. 下面看一个简单的代码: public class MainActivity extends ...

  3. 篇一:MySQL中case when then

    图一: 图二:

  4. C#-WinForm-用户控件如何获取父级窗体

    1:在父窗体中定义需要在用户控件中用到的控件属性,比如,我要修改一个textbox控件.页面定义这个textbox的属性是:protected System.Web.UI.WebControls.Te ...

  5. 我的.NET自学之路

    我第一门语言接触的并不是.net,而是php刚学php感觉还好,但是一学到后面就有一点头晕乎乎的,我感觉没有一个好的编写php代码的编辑器.而且php是弱类型语言,感觉起来没有像c,java,c#这些 ...

  6. Alpha事后诸葛亮

    Aruba小组Cento项目Postmortem 队员: 408 409 410 428 429 431   设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  7. TYVJ P1080 N皇后

    描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 列号  1  2  3  4  5  6 -- ...

  8. 简要介绍BASE64、MD5、SHA、HMAC几种方法。

    加密解密,曾经是我一个毕业设计的重要组件.在工作了多年以后回想当时那个加密.解密算法,实在是太单纯了.     言归正传,这里我们主要描述Java已经实现的一些加密解密算法,最后介绍数字证书.     ...

  9. python学习笔记-(十一)面向对象进阶&异常处理

    上篇我们已经了解了一些面向对象的基础知识,本次就了解下面向对象的一些进阶知识(虽然我也不知道有什么卵用). 静态方法 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使 ...

  10. jQuery中 pageX,clientX,offsetX,layerX的区别

    一.PageX和clientXPageX和clientX ,这个两个比较容易搞混,PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化.可以理解为:相对#(0.0 ...