zoukankan      html  css  js  c++  java
  • 简单实用https注意事项

    https处理:【此文不涉及自建证书和双向验证,以购买的DV级别证书为例】

    一、安卓以OKHttp为例,加载https接口可以正常请求!

    二、iOS以AFNetWorking(3.1.0)为例,加载https接口可以正常请求【ATS采用】!

    1、接口

    可能会出现返回值为NULL的情况,实则和数据解析有关,AF3.1.0为例

    manager.responseSerializer = [AFHTTPResponseSerializer serializer]
    

     以上参数表示保留AF的原有数据即data数据,而我们平常最常用的则是转化为json,

    如果不设置参数表示AF的默认解析,可获取正常的json数据 用不到我们去解析数据

    如果设置参数表示AF保留原有data数据,需要我们解析数据,

    ①、上传图片注意是上传图片我们必须保留原有数据我们要上传的是图片的data数据,所以AF要设置此参数,返回的数据也是data数据,需要我们去解析则会用到数据解析

    ②、正常的接口请求,那么返回的data数据,需要我们去解析则会用到数据解析

    对于https AF3.1.0需要设置此参数,那么数据的解析我们可用系统的解析方法

    responseObject = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
    

    2、web加载

    web加载以UIWebView为例,也可正常加载。

    在实际测试中dv级别的证书正常加载https的网页,但是在测试百度https://www.baidu.com/网页时出现不能加载现象(猜测:应该和证书级别和tls级别有关,没做验证)

    工程测试的解决办法需要添加域名白名单,可以正常加载

    <dict>
     <key>baidu.com</key>   //添加要加载的白域名加载web页面
     <dict>
     <key>NSExceptionAllowsInsecureHTTPLoads</key>
     <true/>
     <key>NSExceptionRequiresForwardSecrecy</key>
     <false/>
     <key>NSIncludesSubdomains</key>
     <true/>
     </dict>
     </dict>
    

    测试网址

    web地址:https://api.sdangao.com/v2/web/score

    json接口:https://api.sdangao.com/v2/public/jobs

    图片链接:https://api.sdangao.com/data/upload/avatar/u729/2016-12-19/585745692a0f4.jpg

     目前https,能力所限,能提到的注意事项就这几点,希望大家能提供更好的解决办法!

    以下链接来自网上资料

    Apple ATS新特性介绍   

    IOS ATS适配SSL证书方案

    https证书购买:

    https://www.cheapssl.cn/

    SSL Server Test

    https://www.ssllabs.com/ssltest/analyze.html

  • 相关阅读:
    设计模式-创建型-原型模式
    设计模式-创建型-抽象工厂模式
    设计模式-创建型-工厂模式
    设计模式-创建型-单例模式
    css3技巧属性之text-overflow
    bootstrap如何自定义5等分
    LeetCode-64-最小路径和
    LeetCode-62-不同路径
    LeetCode-5-最长回文子串
    LeetCode-98-验证二叉搜索树
  • 原文地址:https://www.cnblogs.com/superbobo/p/6201426.html
Copyright © 2011-2022 走看看