iOS GET请求和POST请求

我们都知道请求数据时前缀会有一个http,而http请求数据时会有两种方法:GET 和 POST。

GET 和 POST的区别:

GET 特征

 1.浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB

 2.会把请求的数据暴露在接口里面

POST 特征

  1.参数全部放在请求体中 这样就保证了数据的安全。

  2.没有具体的长度限制,唯一的限制就是服务器的承受能力

选择GETPOST的建议

 

 1 如果要传输大量数据,比如文件上传,只能用post请求

 2 GET的安全性比POST差,如果包含机密/敏感信息。建议用post

 3 如果仅仅是索取数据(数据查询),建议用GET

 4 如果是增加,修改,删除数据,建议用POST


下面是GET和POST在不同接口里面的使用:

GET

<span style="font-size:14px;"> NSString *interfaceString = @"http://apis.baidu.com/showapi_open_bus/mobile/find";
    
    NSString *requestContentString = @"num=18096072457";
//    准备好地址字符串 urlString
    NSString *urlString = [NSString stringWithFormat:@"%@?%@",interfaceString,requestContentString];
//    把链接地址字符串转换成UTF8格式 这一步不是必须的
    NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
//    可变的请求  可以添加 请求方式  以及请求的请求头 或者更多
//    timeoutInterval 请求所需的时间  超过 时间 不再发送这个请求 cachePolicy缓存内容的方式
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
//    GET 一般是大写 指定HTTP的请求方式 为GET
    request.HTTPMethod = @"GET";
    
    NSString *apiKey = @"e7f5ac9e7c42a6c8cb125ee1d7e8779e";

//    把apiKey 发送给 服务器 指定的请求头 位置
    [request addValue:apiKey forHTTPHeaderField:@"apikey"];
    
    [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc]init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSLog(@"%@",response);
        
//        解析 json 文件
//        把 data 转换成json文件
        
        NSDictionary *info = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
        
        NSLog(@"%@",info);
        
        NSLog(@"%@ %@",info[@"showapi_res_body"][@"city"],info[@"showapi_res_body"][@"name"]);
        
        
    }];</span>

POST
<span style="font-size:14px;"> 
    NSURL *url = [NSURL URLWithString:@"http://www.weihuok.com/customer2/GetService"];
//    请求的参数
//    3 表示iOS设备
    NSDictionary *dic = @{@"PlatformType":@"3"};
    
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    
//    设置HTTP请求的方式 POST 把请求的数据放到 HTTPBody 里面
    request.HTTPMethod = @"POST";
    
//    设置请求的参数 dataUsingEncoding 把字符串转成 NSData
//    HTTPBody 要的是NSData类型的数据,需要把字典转换为NSData数据
    request.HTTPBody = [[NSString stringWithFormat:@"%@",dic] dataUsingEncoding:NSUTF8StringEncoding];
    
    [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc]init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        
    NSDictionary *info = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
        
        NSLog(@"用户%@",info);
    }];
    </span><span style="font-size:18px;">
</span>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值