NSURLConnection — GET请求的第二种方式
来源:互联网 发布:java interrupt sleep 编辑:程序博客网 时间:2024/05/29 07:03
//// ViewController.m// NSURLConnection — GET请求//#import "ViewController.h"@interface ViewController () <NSURLConnectionDataDelegate>@property (weak, nonatomic) IBOutlet UITextField *usernameField;@property (weak, nonatomic) IBOutlet UITextField *pwdField;- (IBAction)login;/** * 用来存放服务器返回的所有数据 */@property(nonatomic,strong)NSMutableData *responseData;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad];}- (IBAction)login{ //1.表单验证(输入验证) NSString *username = self.usernameField.text; if (username.length == 0) { //没有输入用户名 //弹框提示 return; } NSString *pwd = self.pwdField.text; if (pwd.length == 0) { //没有输入密码 //弹框提示(请输入密码) return; } //添加遮罩(防止用户继续操作UI) //todo... [MBProgressHUB showMessage@"正在拼命登录中..."]; //2.发送请求给服务器(带上账户和密码) //2.1设置请求路径 NSString *str = [NSString stringWithFormat:@"http://localhost/login.php?username=%@&pwd=%@",username,pwd];
<p class="p1"><span class="s1">//</span><span class="s2">转码</span></p><p class="p2"><span class="s3"> str = [str </span><span class="s1">stringByAddingPercentEscapesUsingEncoding</span><span class="s3">:</span><span class="s1">NSUTF8StringEncoding</span><span class="s3">];</span></p> NSURL *url = [NSURL URLWithString:str]; //2.2创建请求对象(默认就是GET) NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; request.timeoutInterval = 5; //超时时间 //2.3发送请求 NSURLConnection *conn = [NSURLConnection connectionWithRequest:request delegate:self]; [conn start]; //异步}#pragma mark - NSURLConnectionDataDelegate/** * 请求失败的时候调用 */- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ //请求超时、断网、没有网。一般都是客户端错误 //移除遮罩 [MBProgressHUB hideHUB];}/** * 当接受到服务器的响应的就会调用 */- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ //服务器有响应了 //初始化 self.responseData = [NSMutableData data];}/** * 当接受到服务器返回的数据就会调用 */- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ //可能会被调用多次,每次只会传递部分数据 //拼接(收集)数据 [self.responseData appendData:data];}/** * 当服务器的数据接受完毕后就会调用 */- (void)connectionDidFinishLoading:(NSURLConnection *)connection{ //移除遮罩 [MBProgressHUB hideHUB]; //解析最后的数据 NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:self.responseData options:NSJSONReadingMutableLeaves error:nil]; NSLog(@"%@",dict);}@end
0 0
- NSURLConnection — GET请求的第二种方式
- NSURLConnection — GET请求
- NSURLConnection的几种请求方式
- NSURLConnection的3种请求方式
- 数据请求的两种方法 get post NSURLConnection请求
- NSURLConnection三种请求方式
- NSURLConnection — POST请求
- HttpUrlConnection的get请求方式
- swift开发网络篇—利用NSURLConnection GET请求和POST请求
- 3种get请求方式
- NSURLConnection的GET和POST
- 关于使用NSURLConnection发送get请求响应为nil的情况
- GET和POST两种请求方式的区别
- WebAPI GET和POST请求的几种方式
- WebAPI GET和POST请求的几种方式
- SpringMVC的几种返回方式(get请求)
- nodejs之get/post请求的几种方式
- 前端发送get和post请求的三种方式
- 2个无线路由器怎么连接
- Python中配置matplotlib模块
- C语言:strcpy()
- codingbat:recursion-2:1(JAVA)
- 动态内存分配
- NSURLConnection — GET请求的第二种方式
- 深入源码解析Python中的对象与类型
- Linux系列-安装常用软件
- 字节对齐--编码就得多思考
- vim 7.4同时支持python 2.x和3.x问题调研
- 数位思想
- copy内存管理...
- 2015 总结 & 2016 展望
- 树莓派关于重新安装raspdeian连不上问题