IOS网络第二天 - 01-基本的HTTP请求
*****************
#import "HMViewController.h"
#import "MBProgressHUD+MJ.h" @interface HMViewController ()
@property (weak, nonatomic) IBOutlet UITextField *username;
@property (weak, nonatomic) IBOutlet UITextField *pwd;
- (IBAction)login;
@end @implementation HMViewController - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
} - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
} - (IBAction)login {
// 1.用户名
NSString *usernameText = self.username.text;
if (usernameText.length == ) {
[MBProgressHUD showError:@"请输入用户名"];
return;
} // 2.密码
NSString *pwdText = self.pwd.text;
if (pwdText.length == ) {
[MBProgressHUD showError:@"请输入密码"];
return;
} /**
接口文档:定义描述服务器端的请求接口
1> 请求路径URL:客户端应该请求哪个路径
* http://localhost:8080/MJServer/login 2> 请求参数:客户端要发给服务器的数据
* username - 用户名
* pwd - 密码 3> 请求结果:服务器会返回什么东西给客户端
{"error":"用户名不存在"}
{"error":"密码不正确"}
{"success":"登录成功"}
*/ // 3.发送用户名和密码给服务器(走HTTP协议)
// 创建一个URL : 请求路径
NSString *urlStr = [NSString stringWithFormat:@"http://localhost:8080/MJServer/login?username=%@&pwd=%@",usernameText, pwdText];
NSURL *url = [NSURL URLWithString:urlStr]; // 创建一个请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSLog(@"begin---"); // 发送一个同步请求(在主线程发送请求)
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 解析的方式 :
// 解析服务器返回的JSON数据
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSString *error = dict[@"error"];
if (error) {
// {"error":"用户名不存在"}
// {"error":"密码不正确"}
[MBProgressHUD showError:error];
} else {
// {"success":"登录成功"}
NSString *success = dict[@"success"];
[MBProgressHUD showSuccess:success];
}
}
@end
IOS网络第二天 - 01-基本的HTTP请求的更多相关文章
- IOS网络第一天-01基本的HTTP请求
*************************** #import "HMViewController.h" #import "MBProgressHUD+MJ.h& ...
- IOS网络第二天 - 04-黑酷-GDataXML 解析
****** - (void)viewDidLoad { [super viewDidLoad]; /** 加载服务器最新的视频信息 */ // 1.创建URL NSURL *url = HMUrl( ...
- IOS网络第二天 - 03-JSON显示数据,调用本地视频播放,数据转模型
********HMVideosViewController.m #import "HMVideosViewController.h" #import "MBProgre ...
- IOS网络第二天 - 09-多值参数
*********** #import "HMViewController.h" #import "MBProgressHUD+MJ.h" @interface ...
- IOS网络第二天 - 07-发送JSON给服务器
*************** #import "HMViewController.h" #import "MBProgressHUD+MJ.h" @inter ...
- IOS网络第二天 - 06-POST请求
************POST请求 #import "HMViewController.h" #import "MBProgressHUD+MJ.h" @in ...
- IOS网络第二天 - 02-异步HTTP请求block回调 解析
************** #import "HMViewController.h" #import "MBProgressHUD+MJ.h" @interf ...
- IOS网络篇1之截取本地URL请求(NSURLProtocol)
本文转载至 http://blog.csdn.net/u014011807/article/details/39894247 NSURLProtocol 是iOS中非常重要的一个部分,我们经常会在以下 ...
- ios网络学习------4 UIWebView的加载本地数据的三种方式
ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...
随机推荐
- Android 中常用的布局
一.线性布局----LinearLayout horizontal 水平 <?xml version="1.0" encoding="utf-8"?& ...
- rem单位在手机网站中的使用
em单位是相对于父节点的font-size,会有一些组合的问题,而rem是相对于根节点(或者是html节点),也就是说你可以在html节点定义一个单独的字体大小,然后所有其他元素使用rem相对于这个字 ...
- hdu1710 二叉树的遍历
Problem Description 已知前序和中序 求后序 Input The input contains several test cases. The first line of each ...
- android测试点汇总
Android的功能测试点 安装\卸载 App具体功能点 联网(默认的联网方式是什么?Wifi orSim卡?网络切换是否有相应的提示说明?飞行模式) 程序进入输入功能时,是否正常弹出键盘;键盘是否遮 ...
- iOS Debug日志 viewhierarchy调试笔记
Debut - View Debugging - Capture View Hierarchy 当视图没有正常显示时,用view hierarchy进行调试,查看左边的分支里有没有加载对应的视图. 如 ...
- web api :Routing in ASP.NET Web API
引 Web API 和SignalR都是在服务层. If you are familiar with ASP.NET MVC, Web API routing is very similar to M ...
- ural 1075. Thread in a Space
1075. Thread in a Space Time limit: 1.0 secondMemory limit: 64 MB There are three points in a 3-dime ...
- mysql case then使用
表的创建CREATE TABLE `lee` (`id` int(10) NOT NULL AUTO_INCREMENT, `name` char(20) DEFAULT NULL, `birthda ...
- 推荐一些mac 系统软件
1. rightzoom http://www.macupdate.com/app/mac/30591/right-zoom 最大化快捷键设置 2. blotter 桌面日历,透明 3. AquaTe ...
- 模态视图(modalTrasitionStyle)如何适应不同的版本
随着版本的更新,模态视图对版本也有不同的要求,那如何让模态视图适应多版本的要求呢?下面是小编的个人看法! -(void)presentModalVC { modalViewController *mo ...