首页 / IOS / iOS网络开发基础--发送HTTP请求
iOS网络开发基础--发送HTTP请求
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS网络开发基础--发送HTTP请求,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2240字,纯文字阅读大概需要4分钟。
内容图文
一、一个 HTTP 请求的基本要素
1. 请求 URL :客户端通过哪个路径找到服务器
2. 请求参数:客户端发送给服务器的数据
- 如登录时需要发送的用户名和密码
3. 返回结果:服务器返回给客户端的数据
- 一般是 JSON 数据或者 XML 数据
二、基本的 HTTP 请求的步骤(移动客户端)
1. 拼接 " 请求 URL" + "?" + " 请求参数 "
- 请求参数的格式:参数名 = 参数值
- 多个请求参数之间用 & 隔开:参数名 1 = 参数值 1 & 参数名 2 = 参数值 2
2. 发送请求
3. 解析服务器返回的数据
- JSON解析
- XML解析
三、 HTTP 的通信过程
1. 请求
1 > 请求行 : 请求方法、请求路径、 HTTP 协议的版本
GET /MJServer/resources/images/ 1. jpg HTTP/ 1.1
2 > 请求头 : 客户端的一些描述信息
- User-Agent : 客户端的环境(软件环境)
3 > 请求体 : POST 请求才有这个东西
- 请求参数,发给服务器的数据
2. 响应
1 > 状态行(响应行) : HTTP 协议的版本、响应状态码、响应状态描述
HTTP/ 1.1 200 OK
2 > 响应头:服务器的一些描述信息
- Content-Type : 服务器返回给客户端的内容类型
- Content-Length : 服务器返回给客户端的内容的长度(比如文件的大小)
3 > 实体内容(响应体)
- 服务器返回给客户端具体的数据,比如文件数据
四、 HTTP 的请求方法
1. GET
1 > 特点
- 所有请求参数都拼接在 url 后面
2 > 缺点
- 在 url 中暴露了所有的请求数据,不太安全
- url 的长度有限制,不能发送太多的参数
3 > 使用场合
- 如果仅仅是向服务器索要数据,一般用 GET 请求
4 > 如何发送一个 GET 请求
- 默认就是 GET 请求
// 1.URL
NSURL *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) {
}];
2. POST
1 > 特点
- 把所有请求参数放在请求体( HTTPBody )中
- 理论上讲,发给服务器的数据的大小是没有限制
2 > 使用场合
- 除开向服务器索要数据以外的请求,都可以用 POST 请求
- 如果发给服务器的数据是一些隐私、敏感的数据,绝对要用 POST 请求
3 > 如何发送一个 POST 请求
// 1. 创建一个 URL : 请求路径
NSURL *url = [NSURL URLWithString: @"http://xxxxx" ];
// 2. 创建一个请求
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
// 设置请求方法
request.HTTPMethod = @"POST" ;
// 设置请求体 : 请求参数
NSString *param = [NSString stringWithFormat: @"username=%@&pwd=%@" , usernameText, pwdText];
// NSString --> NSData
request.HTTPBody = [param dataUsingEncoding:NSUTF8StringEncoding];
五、 NSMutableURLRequest 的常用方法
1. 设置超时
request.timeoutInterval = 5 ;
// NSURLRequest 是不能设置超时的,因为这个对象是不可变的
六、 URL 转码
1. URL 中不能包含中文,得对中文进行转码 ( 加上一堆的 %)
NSString *urlStr = [NSString stringWithFormat: @"http://localhost/login?username= lisa &pwd=123" ];
urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// urlStr == @"http://localhost/login?username=%E5%96%9D%E5%96%9D&pwd=123"
原文:http://blog.csdn.net/u011018309/article/details/51329855
内容总结
以上是互联网集市为您收集整理的iOS网络开发基础--发送HTTP请求全部内容,希望文章能够帮你解决iOS网络开发基础--发送HTTP请求所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。