zoukankan      html  css  js  c++  java
  • iOS学习笔记6GET POST方法 smallelephant_A

    GET

    在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,比如http://ww.test.com/login?username=123&pwd=234&type=JSON

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

    POST

    发给服务器的参数全部放在请求体中

    理论上,POST传递的数据量没有限制(具体还得看服务器的处理能力)

    选择GET和POST的建议

    (1)如果要传递大量数据,比如文件上传,只能用POST请求

    (2)GET的安全性比POST要差些,如果包含机密\敏感信息,建议用POST

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

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

    iOS中发送HTTP请求的方案

    在iOS中,常见的发送HTTP请求(GET和POST)的解决方案有

    (1)苹果原生(自带)

    NSURLConnection:用法简单,最古老最经典最直接的一种方案

    NSURLSession:iOS 7新出的技术,功能比NSURLConnection更加强大

    CFNetwork:NSURL*的底层,纯C语言

    (2)第三方框架

    ASIHttpRequest:外号“HTTP终结者”,功能极其强大,可惜早已停止更新

    AFNetworking:简单易用,提供了基本够用的常用功能

    get:

    // 1.设置请求路径
    NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
    NSURL *url=[NSURL URLWithString:urlStr];

    // 2.创建请求对象
    NSURLRequest *request=[NSURLRequest requestWithURL:url];

    // 3.发送请求

    post:

    // 1.设置请求路径
    NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要传递参数

    // 2.创建请求对象
    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
    request.timeoutInterval=5.0;//设置请求超时为5秒
    request.HTTPMethod=@"POST";//设置请求方法

    //设置请求体
    NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
    //把拼接后的字符串转换为data,设置请求体
    request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];

    // 3.发送请求

    相对POST请求而言,GET请求的所有参数都直接暴露在URL中,请求的URL一般会记录在服务器的访问日志中,而服务器的访问日志是黑客攻击的重点对象之一

    用户的隐私数据如登录密码,银行账号等。

  • 相关阅读:
    Element UI表格组件技巧:如何简洁实现跨页勾选、跨页统计功能
    Spring Cloud Gateway转发Spring WebSocket
    mac OS 安装配置Nginx服务器
    异常处理
    模块和包调用方法、执行顺序
    模块:序列化
    模块:random
    模块:time
    模块:collections,Python中的扩展数据类型
    re模块的基本用法
  • 原文地址:https://www.cnblogs.com/adodo/p/5194202.html
Copyright © 2011-2022 走看看