慕课IOS网络操作基础笔记

  • HTTP使用场景
    打开网页
    app上登录
    下载图片

HTTP作用

http是用来实现客户端与服务器之间进行信息通信的协议
URL决定和哪台服务器通信

URL格式

协议http:// 主机名 www.imooc.com资源路径(借口名称/courese_list 查询条件(接口字段)name=IOS&cid=23146(?key1=value1&key1=value1)
只有get请求才将请求参数拼接到url后面

常见请求方法

  • get 从服务器获取一段内容通常不包含请求体(登录)
  • post 使用客户端提供的信息更新实体
  • head
  • put 使用客户端提供的数据添加实体
  • delete

IOS中网络请求相关文件

NSURL 标示客户端访问那台服务器上的指定资源
NSURLRequest 标示客户端发起的网络请求内容
NSURLConnection 表示客户端与服务器之间建立的网络连接
NSURLResponse 表示服务端基于客户端的响应结果

应用

发送网络请求

在联网状态下运行

//表示访问的服务器
NSURL *url=[NSURL URLWIthString :"www.imooc.com"];
//表示客户端发起的网络请求的请求内容 初始化请求内容
NSURLRequest *request=[NSURLRequest requestWithURL:url];
//创建客户端与服务器之间的网络连接
NSURLConnection*connection=[[NSURLConnection alloc]init WithRequest:request delegate:self];
//启动网络请求
[connnection start]
//接收服务端对客户端的响应结果
-(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response
{
	NSLog(@"@",response);
}

AppTransport Security(ATS IOS9)
强制使用HTTPS 提升安全级别

获取网络数据

  • 布局页面

view文件下
.h

@interface KeyValueView:UIView
@property(nonatomic,strong)UILabel *keyValue;
@property(nonatomic,strong)UILabel*valueLabel;
@end

.m

@implementation KeyValueView
-(id)initWithFrame:(CGRect)frame
{
	self=[super initWithFrame:frame];
	if(self)
	{
			_keyLabel=[[UILabel alloc]initWithFrame:CGRextMake(0,0,CGRectGetWidth(self.frame)/3,CGRectGetHeight(self.frame))];
			_keyLabel.backgroundColor=[UIColor clearColor];
			_keyLabel.textAlignment=NSTextAlignmentLeft;
			_keyLabel.font=[UIFont systemFontOfSize:16];
			_keyLabel.textColor=[UIColor blackColor];
			[self addSubView:_keyLabel];
    
   	 		_ValueLabel=[[UILabel alloc]initWithFrame:CGRextMake(CGRectGetWidth(self.frame)/3,0,2*CGRectGetWidth(self.frame)/3,CGRectGetHeight(self.frame))];
			_valueLabel.backgroundColor=[UIColor clearColor];
			_valueLabel.textAlignment=NSTextAlignmentLeft;
			_valueLabel.font=[UIFont systemFontOfSize:16];
			_valueLabel.textColor=[UIColor blackColor];
			[self addSubView:_valueLabel];
		}
}

-(void)setupKey:(NSString*)key value:(NSString *)value
{
	[_keyLabel setText:key];
	[_valueLabel setText:value];
}
  • 发起网络请求 获取个人信息
//指明服务器访问地址 http://hostName:port/absoltuePath/query ?key=value&key2=value2
NSURL*url =[NSURL URLWithString:@"http:// "];
//创建请求对象 默认请求方式get 
NSURLRequest *request=[NSURLRequest requestWithURL:url];
设置其他请求方式
NSMutableURLRequest*request=[NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod];
//创建网络连接对象
NSURLConnection*connection=[[NSURLConnection alloc]initWIthRequest:request delegate:self] ; 
 //启动网络连接
 [connection start];

网络请求响应结果

-(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLReponse*)reponse
{
	NSLog(@"%@",reponse);
}

接收网络响应数据 多次调用

-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
{
	NSLog(@"%@",data);
}
-(void)connectionDidFinishingLoading:(NSURLConnection*)connection
{
	NSLog(@"网络请求结束");
}
  • 解析网络响应数据 展示到页面上
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值