Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
最常用的也就是get和post 下面讲一下get和post请求
get方法效率高 传输快 但缺点却是安全性差
post方法效率低 传输相对慢 但是安全性却很好
1.get方法
//get 方法
[self getMethod];
2.实现get方法
- (void)getMethod
{
//取得请求操作的manager
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//响应序列化
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
//设置服务器响应内容的类型
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
NSString *path = @"http://www.weather.com.cn/data/cityinfo/101010100.html";
[manager GET:path parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"dict = %@",dict);
NSDictionary *weatherinfo = dict[@"weatherinfo"];
NSString *city = weatherinfo[@"city"];
NSLog(@"city = %@",city);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error = %@",error.localizedDescription);
}];
}
3.post方法
//post 方法
[self postMethod];
- (void)postMethod
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSString *url = @"http://10.0.8.8/sns/my/login.php";
NSDictionary *dict = @{@"username":@"leaf_s",@"password":@"222222"};
// NSLog(@"%@",dict);
//响应序列化
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
//设置服务器响应内容的类型
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager POST:url parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"dic = %@",dic);
NSString *message = dic[@"message"];
NSLog(@"message = %@",message);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error = %@",error.localizedDescription);
}];
}