post请求安全性高,也比较常用。post请求使用NSMutableURLRequest这个类,它既可以get请求,也可以post请求。NSURLRequest只能是get请求。
POST异步请求步骤:
1、设置请求路径(服务器路径)
NSString *urlStr = @"http://172.16.11.133:8080/st/s";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
2、设置请求类型
[request setHTTPMethod:@"POST"];//如果不设置 默认是get请求
3、设置请求数据
NSString *str = [NSString stringWithFormat:@"command=ST_R&name=%@&psw=%@,self.nameText.text,self.passWordText.text];
[request setHTTPBody:[str dataUsingEncoding:NSUTF8StringEncoding]];
4、建立连接设置代理
[NSURLConnection connectionWithRequest:request delegate:self];
5、实现代理方法
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
_dada = [[NSMutableData alloc]init];//初始化一个接收数据的全局变量
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[_dada appendData:data];//数据追加
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
//解析服务器传来的数据 如果是json格式 用到NSJSONSerialization这个类
NSDictionary *dic= [NSJSONSerialization JSONObjectWithData:_dada options:NSJSONReadingMutableContainers error:nil]
// 根据类型用指针接收 一般有字典和数组
}