GET请求和POST请求简单说明
一.概述
* HTTP/1.1协议共定义了8中请求方法:OPTIONS, HEAD, GET, POST, PUT, DELETE, TRACE, CONNECT.
* GET方法和POST是我们使用最频繁的网络请求方法。
* GET和POST在应用场合有什么区别呢?
* GET方法向指定资源发出请求,发送的消息显示的跟在URL后面,用户信息不安全,并且传送信息量有限。(如下所示,在请求中能看到用户名和密码)
http://localhost:8080/logandreg/logreg?name=wyg&pwd=1992
* 如果仅仅是向服务器索要数据,没有参数,使用GET比较方便。(如下所示)
http://www.baidu.com
* POST传送的信息量大,并且传送的信息是被隐藏的,传送信息比较安全,如果向服务器传送数据,建议使用POST.
二.GET请求网络数据(同步,异步)
* 如上所述,GET方法可以向指定资源发出请求,比如我们想再网络上请求一张图片在本地上显示,使用GET方法就非常的方便。
* GET请求分为同步请求和异步请求,一般情况下,为了良好的用户体验,我们都使用异步请求。
GET请求
1.设置请求路径
2 NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
3 NSURL *url=[NSURL URLWithString:urlStr];
4
5 // 2.创建请求对象
6 NSURLRequest *request=[NSURLRequest requestWithURL:url];
7
8 // 3.发送请求
三.POST请求网络数据(以异步为例,同步的与GET类似)
* 传输信息安全性比GET高。
* 传输信息量比GET大。
* 代码中带有详细解释,代码如下:
点击button获取图片
- (
IBAction
)postRequest:(
id
)sender
{
//明确请求的url
//创建请求(可变请求)
NSMutableURLRequest
*request = [
NSMutableURLRequest
requestWithURL:url];
//指定请求方式
[request setHTTPMethod:@
"POST"
];
//拼接参数内容
NSString
*body = @
"name=wyg&pwd=1992"
;
//请求数据放到请求的请求体中
[request setHTTPBody:[body dataUsingEncoding:
NSUTF8StringEncoding
]];
//使用post发起异步请求
[
NSURLConnection
connectionWithRequest:request delegate:
self
];
}
- (
void
)connection:(
NSURLConnection
*)connection didReceiveResponse:(
NSURLResponse
*)response
{
//接收到响应之后响应的方法
_buffer = [[
NSMutableData
alloc]init];
}
- (
void
)connection:(
NSURLConnection
*)connection didReceiveData:(
NSData
*)data
{
//接收到数据之后响应的方法
[_buffer appendData:data];
}
- (
void
)connectionDidFinishLoading:(
NSURLConnection
*)connection
{
//数据处理完成之后响应的方法
NSString
*str = [[
NSString
alloc]initWithData:_buffer encoding:
NSUTF8StringEncoding
];
NSLog
(@
"%@"
,str);
}
- (
void
)connection:(
NSURLConnection
*)connection didFailWithError:(
NSError
*)error
{
//请求出错之后响应的方法(如断网,超时)
}
POST请求 直接请求网络的连接
// 1.设置请求路径
2 NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要传递参数
3
4 // 2.创建请求对象
5 NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
6 request.timeoutInterval=5.0;//设置请求超时为5秒
7 request.HTTPMethod=@"POST";//设置请求方法
8
9 //设置请求体
10 NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
11 //把拼接后的字符串转换为data,设置请求体
12 request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
13
14 // 3.发送请求 通过请求头告诉服务器,客户端的类型(可以通过修改,欺骗服务器)
// 1.设置请求路径
2 NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要传递参数
3
4 // 2.创建请求对象
5 NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
6 request.timeoutInterval=5.0;//设置请求超时为5秒
7 request.HTTPMethod=@"POST";//设置请求方法
8
9 //设置请求体
10 NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
11 //把拼接后的字符串转换为data,设置请求体
12 request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
13
14 //客户端类型,只能写英文
15 [request setValue:@"ios+android" forHTTPHeaderField:@"User-Agent"]; GET和POST区别:
1、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;
2、POST请求,将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。
GET请求和POST请求简单说明的更多相关文章
- iOS开发网络篇—GET请求和POST请求
iOS开发网络篇—GET请求和POST请求 一.GET请求和POST请求简单说明 创建GET请求 // 1.设置请求路径 NSString *urlStr=[NSString stringWithFo ...
- iOS开发网络篇—GET请求和POST请求(转)
一.GET请求和POST请求简单说明 创建GET请求 1 // 1.设置请求路径 2 NSString *urlStr=[NSString stringWithFormat:@"http:/ ...
- iOS开发网络篇—GET请求和POST请求的说明与比较
1.GET请求和POST请求简单说明 1.1 创建GET请求 // 1.设置请求路径 NSString *urlStr = [NSString stringWithFormat:@"http ...
- 二:网络--GET请求和POST请求
一.GET请求和POST请求简单说明 GET - 从指定的服务器中获取数据 POST - 提交数据给指定的服务器处理 GET方法: 使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送 ...
- swift开发网络篇—利用NSURLConnection GET请求和POST请求
一.GET请求和POST请求简单说明 @IBOutlet weakvar userName:UITextField! @IBOutletweakvar userPwd:UITextField! @IB ...
- js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快、简单 post:安全,量大,不缓存)(服务器同步和异步区别:同步:等待服务器响应当中浏览器不能做别的事情)(ajax和jquery一起用的)
js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快.简单 post:安全,量大,不缓存)( ...
- JSP、Servlet中get请求和post请求的区别总结
在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...
- axios中出现两次请求,OPTIONS请求和GET请求
在项目中发现ajax中出现两次请求,OPTIONS请求和GET请求 查看到浏览器NetWork有两次请求,请求url一样: 查找原因是浏览器对简单跨域请求和复杂跨域请求的处理区别. XMLHttpRe ...
- Ajax中get请求和post请求
我们在使用Ajax向服务器发送数据时,可以采用Get方式请求服务器,也可以使用Post方式请求服务器,那么什么时候该采用Get方式,什么时候该采用Post方式呢? Get请求和Post请求的区别: 1 ...
随机推荐
- Jquery操作select小结
每次操作select都要查资料,干脆总结一下. 为select设置placeholder <select class="form-control selOP" placeho ...
- java邮件
我们用过很多邮件,qq,163,网易等. 一.发送邮件需要遵循smtp协议,接收邮件需要遵循pop3协议 二.发邮件的过程 假设用qq邮件 写邮件-->点 “发送” --> qq邮件服务器 ...
- getParamValues()
http://blog.csdn.net/msg_java2011/article/details/6529226
- 利用百度地图开源sdk获取地址信息。
注册百度开发者帐号,下载相关sdk 添加权限: 添加百度注册访问应用(AK)码 添加源代码文件到libs文件: 代码如下: package com.lixu.baidu_gps; import com ...
- Arithmetic Progressions
题目大意: 求出满足条件A的等差数列: A:长度为N(N<=25),每个元素都能表示成 两个数p,q的平方和(0<=p,q<=m<=250): 解题过程: 1.处理出所有的能拆 ...
- python下的复杂网络编程包networkx的安装及使用
由于py3.x与工具包的兼容问题,这里采用py2.7 1.python下的复杂网络编程包networkx的使用: http://blog.sina.com.cn/s/blog_720448d30101 ...
- 面试题目-findmax的实现
#include <vector> #include <iostream> #include "printCollection.h" using names ...
- 常用控件产品官方文档/手册/API列表 c#控件文档API列表 asp.net控件产品技术文档中文版
.netCHARTING报表图表控件 文档帮助手册Ab3d.PowerToys 文档帮助手册Ab3d.Reader3ds 文档帮助手册ABViewer 文档帮助手册 (工程图纸文档管理系统)Activ ...
- git 克隆项目 与 分支简单操作
git clone http://abcde.com/myproject/abc.git 克隆远程项目到本地githome文件夹git branch -a 查看所有分支 包括远程和本地 *号开头表示当 ...
- Visual Studio环境色调配色
据说对眼睛有好处的色调配色 vs 色调rgb 199,240,214 色调为84,饱和度为91,亮度为205 色调为85,饱和度为123,亮度205: “色调”由160更改为75-85之间——> ...