iOS 发送GET和POST网络请求
来源:互联网 发布:滇虹药业淘宝旗舰店 编辑:程序博客网 时间:2024/04/26 01:58
HTTP的通信过程
1.请求
1> 请求行 : 请求方法、请求路径、HTTP协议的版本
GET /MJServer/resources/images/1.jpg HTTP/1.1
2> 请求头 : 客户端的一些描述信息
* User-Agent : 客户端的环境(软件环境)
3> 请求体 : POST请求才有这个东西,GET请求的参数都会拼接在请求行里
* 请求参数,发给服务器的数据
响应
1> 状态行(响应行): HTTP协议的版本、响应状态码、响应状态描述
HTTP/1.1 200 OK
2> 响应头:服务器的一些描述信息
* Content-Type : 服务器返回给客户端的内容类型
* Content-Length : 服务器返回给客户端的内容的长度(比如文件的大小)
3> 实体内容(响应体)
* 服务器返回给客户端具体的数据,比如文件数据
HTTP的请求方法
一.GET
1> 特点
* 所有请求参数都拼接在url后面
2> 缺点
* 在url中暴露了所有的请求数据,不太安全
* url的长度有限制,不能发送太多的参数
3> 使用场合
* 如果仅仅是向服务器索要数据,一般用GET请求
4> 如何发送一个GET请求
* 默认就是GET请求
// 1.URLNSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];// 2.请求NSURLRequest *request = [NSURLRequest requestWithURL:url];// 3.发送请求[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {}];
二.POST
1> 特点
* 把所有请求参数放在请求体(HTTPBody)中
* 理论上讲,发给服务器的数据的大小是没有限制
2> 使用场合
* 除开向服务器索要数据以外的请求,都可以用POST请求
* 如果发给服务器的数据是一些隐私、敏感的数据,绝对要用POST请求
3> 如何发送一个POST请求
// 1.创建一个URL : 请求路径NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/login"];// 2.创建一个请求NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];// 设置请求方法request.HTTPMethod = @"POST";// 设置请求体 : 请求参数NSString *param = [NSString stringWithFormat:@"username=%@&pwd=%@", usernameText, pwdText];// NSString --> NSDatarequest.HTTPBody = [param dataUsingEncoding:NSUTF8StringEncoding];
三.NSMutableURLRequest的常用方法
1.设置超时
request.timeoutInterval = 5;// NSURLRequest是不能设置超时的,因为这个对象是不可变的
四.URL转码
1.URL中不能包含中文,得对中文进行转码(加上一堆的%)
NSString *urlStr = [NSString stringWithFormat:@"http://localhost/login?username=喝喝&pwd=123"];urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];// urlStr == @"http://localhost/login?username=%E5%96%9D%E5%96%9D&pwd=123"
五.数据安全
在访问网络时,传输一些隐私数据不可通过明文传输,例如密码,银行等信息,加密算法根据公司规定协商
通常可使用MD5加密,MD5为不可逆算法,较不容易破解
加盐: 指在原密码上进行修改, 添加, 或位置移动等方式进行混淆后再加密提交至服务器, 安全系数交高
0 0
- iOS 发送GET和POST网络请求
- 【iOS开发-网络】使用NSURLSessionDataTask发送get和post请求
- iOS网络笔记--AFNetWorking发送get和post请求
- ios发送http GET和POST请求
- IOS发送POST/GET请求
- iOS开发网络篇 一一 NSURLSession发送GET、POST请求
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
- HttpClient框架发送get和post网络请求
- IOS网络学习-5、GET请求和POST请求
- iOS开发网络篇—GET请求和POST请求
- iOS开发网络篇—GET请求和POST请求
- iOS开发网络篇—GET请求和POST请求
- iOS开发网络篇—GET请求和POST请求
- iOS开发网络—04GET请求和POST请求
- typedef作用
- [Android分享] 不使用官方SDK,实现微信分享(发送到朋友,发送到朋友圈)
- 数据库入门导论
- There are no packages available for installation
- 自定义控件其实很简单1/6
- iOS 发送GET和POST网络请求
- UIColor之十六进制转换
- SAT英文阅读扩展(1):What is Poetry?
- App的设计评价问题
- Less calc 实现百分比值与固定值之间的加减操作
- Android 滑动屏幕效果GestureDetector、OnGestureListener、ViewFlipper
- 3sum、3Sum closet、 4sum
- U-BOOT源码分析及移植
- 解析struts2