调用阿里云的车型库接口:

其中有三个接口,车型的信息分为四个层级,1-品牌,2-汽车分公司即厂商,3-车系,4-车型;

接口一:无参数调用,阿里云返回172个品牌信息(当前数据量,阿里半个月一次更新);

接口二:使用品牌id作为parentid调用,返回depth为2,3,4的数据;其中第四层级的车型信息为简单信息;

接口三:使用具体的车型id作为参数carid调用,返回具体的车型信息,很详细;

注意,再设置参数时,requestDto.setParentid("1")或者requestDto.setCarid("41375");

设置的那个实体类的参数,parentid和carid,不能写成parentId和carId!

我在调用了接口一,将品牌信息遍历入库,在使用品牌id作为参数直接调用接口二时,只能得到一部分(五六个厂商)信息,

后台报错:Access-Control-Allow-Headers,返回的错误代码信息是403,通过与阿里技术员沟通得知:

是"通过用户流量控制节流",一种流量控制,阿里的这个接口,有限制:一分钟最大访问次数三十次!

没有其他办法避免这个限制!

解决办法:在自己的代码中,线程休眠!2秒即可!

另外,在遍历车厂商信息,获取每个厂商的车系list,再获取每个车系的车型list,取出其中的车型id调用接口三时,

有的车系,没有车型!getList为null!要多加一个非null判断,再去取车型list!

阿里云返回的车型详情中的颜色字段:

是这样:

魔力黑,#000000|季风灰,#2c5866|海南蓝,#48689e|白鲸棕,#574126|西拉红,#681529|喀纳斯绿

或者是这样:

幽灵党灰,传奇黑,#000000|探索蓝,#858585

或者这样:
    传奇黑,#000000|探索蓝,#9e0f0f|白金色金属漆,#9f9c8e|

可以在自己的数据库车型详情表中加一个字段,存储处理之后的颜色字段:

/**
     * ","
     */
    public static final String SPLIT_0                         = ",";

/**
     * "|"
     */
    public static final String SPLIT_1                         = "|";

/**
     * "#"
     */
    public static final String SPLIT_2                         = "#";

/**
     * "%s%s"
     */
    public static final String STRING_FORMAT_2                 = "%s%s";

/**
     * "%s%s%s"
     */
    public static final String STRING_FORMAT_3                 = "%s%s%s";

/**
     * 处理车型颜色,返回正确的颜色
     * 
     * @param color 阿里云返回的车型详情的颜色: 圣邦蓝,#375F92|天云灰,#6E6E70|米萨诺红,#E52B2C 或者 :
     *            幽灵党灰,传奇黑,#000000|探索蓝,#858585 或者:
     *            传奇黑,#000000|探索蓝,#9e0f0f|白金色金属漆,#9f9c8e|
     * @return 处理之后的颜色: 圣邦蓝,天云灰,米萨诺红
     */
    @Override
    public String genColorList(String color) {
        log.info("传入的颜色color:{} ", color);
        String colorList = StringUtils.EMPTY;
        // 根据","分割
        for (String colorArr : color.split(VehicleConstants.SPLIT_0)) {
            // 含有 |
            if (colorArr.contains(VehicleConstants.SPLIT_1)) {
                String colorSubstring = colorArr.substring(colorArr.indexOf(VehicleConstants.SPLIT_1) + 1);
                if (StringUtils.isNotBlank(colorSubstring)) {
                    colorList = colorList + colorSubstring + VehicleConstants.SPLIT_0;
                }
            } else {
                // 含有 # 
                if (colorArr.contains(VehicleConstants.SPLIT_2)) {
                    colorList = String.format(VehicleConstants.STRING_FORMAT_2, colorList,
                            colorArr.substring(0, colorArr.indexOf(VehicleConstants.SPLIT_2)));
                } else {
                    colorList = String.format(VehicleConstants.STRING_FORMAT_3, colorList, colorArr,
                            VehicleConstants.SPLIT_0);
                }
            }
        }
        colorList = colorList.substring(0, colorList.length() - 1);
        log.info("处理完的颜色colorList:{} ", colorList);
        return colorList;
    }

对接阿里云车型库接口,Access-Control-Allow-Headers 通过用户流量控制节流相关推荐

  1. 蚂蚁分类信息系统mymps对接阿里云短信接口

    蚂蚁分类信息系统(mymps)是基于PHP+Mysql开发的分类信息程序CMS,以负载能力强.安全性高.操作简单而著称,深受分类信息网站站长喜爱,为在WINDOW/LINUX服务器上架设分类信息网站提 ...

  2. 阿里云人脸识别接口--心得分享

    一:对接阿里云人脸识别接口的工具类 注意:如果你的图片已经转换为base64的编码以后参数是content_1,后面要加type请求参数,我这里是通过图片的url对比的 public class Fa ...

  3. 手把手教你对接阿里云短信服务

    正好双十二,最近在做一个小项目需要用到短信业务,注册了新用户125买了5000条短信,有效期2年. 那么如何对接阿里云短信,需要做哪些操作? 可以参考https://help.aliyun.com/d ...

  4. Rancher通过Aliyun-slb服务对接阿里云SLB教程

    阿里云负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS)的流量分发控制服务. 本文将详尽演示Rancher如何通过Aliyun-slb服务对接 ...

  5. 云片短信php接口_php与阿里云短信接口接入

    使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId 相当于你的个人账户密钥: 2. accessKeySecr ...

  6. Java 对接 阿里云 的短信服务完成短信的发送与查询

    一.开通阿里云短信服务,为开发时需要用到的信息做准备 1.注册或者使用自己的支付宝账号登录阿里云官网 2.搜索并找到短信服务,进行开通(开通是不要钱的,发送短信的时候才需要钱) 3.注册自己的短信签名 ...

  7. 基于SAML 2.0对接阿里云的SSO(单点登录)

    背景 公司使用的阿里云作为公有云,每次员工入职或离职时同时需要维护两套账号(一套内部账号,一套阿里云RAM账号),为了让用户能够使用内部账号能访问阿里云,所以决定对接阿里云的SSO 主流程介绍 用户访 ...

  8. PLC通过智能网关 MQTT对接阿里云(带CA证书加密),实现物模型数据显示

    IGT-SER系列智能网关支持各种PLC的以太网和串口协议,以及DL/T645.Modbus通讯,通过网关所带的参数配置工具软件,不用编程,即可打包和解析JSON格式的设备数据,通过MQTT.HTTP ...

  9. 对接阿里云短信服务(附视频教程)

    阿里云短信服务文档使用指引: https://help.aliyun.com/document_detail/59210.html B站视频教程链接: https://www.bilibili.com ...

最新文章

  1. python3 购物车小程序
  2. 实践1-qq邮箱主页
  3. “病毒防治”页面中“社区热帖”版块不显示
  4. 重磅!容器集群监控利器 阿里云Prometheus 正式免费公测
  5. 盘点20个最好的数据科学Python库(附链接)
  6. 利用UTL_FILE包实现文件I/O操作
  7. mysqlbinlog工具_MySQL binlog相关分析
  8. IO流 (四) ----- 转换流和标准字节输出流
  9. ad20如何画出pcb板大小_PCB板过孔对高频信号传输的影响,一定要重视
  10. RMAN数据库完全备份和恢复
  11. roberts算子实现
  12. c语言 整数符号,c语言有符号整数
  13. excel转换成html预览,Excel转换成html
  14. android 验证 号码,本机号码校验
  15. package.json scripts 脚本使用指南
  16. Celltrion发布抗COVID-19单克隆抗体治疗瑞丹维单抗(CT-P59)全球III期试验的阳性顶线结果
  17. python人工智能面试题爱奇艺面试题_【爱奇艺Python面试】爱奇艺大数据面试 python-看准网...
  18. 解决mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket错误的方法
  19. 2018-2019年世界将会出现一场经济危机,危机过后中国将会崛起!
  20. 【STM32训练—WiFi模块】第一篇、STM32驱动ESP8266WiFi模块获取网络时间

热门文章

  1. Golang标准库-strings 字符串操作
  2. 2015年第六届蓝桥杯C/C++B组省赛题目解析
  3. seer文献_文献精读|基于SEER数据库构建肝癌非转移Nomogram
  4. python定时开关机的代码_python自动循环定时开关机(非重启)测试
  5. 机器学习 和 深度学习 的相关概念
  6. 魅蓝note 做Android真机调试
  7. java replace 特殊字符_java replaceall 用法:处理特殊字符
  8. 统计通话次数和时间的软件_通话时间统计软件-通话时间统计app下载 v2.3-都去下载...
  9. dpdk 程序适配麦洛斯 mlx5 网卡
  10. 新闻稿格式以及新闻稿写作须知