人脸识别设备从服务器下载设备一直失败的两点原因

下载就是简单的图片下载, 返回给设备的json如下:

{
    "data": {
        "users": [
            {
                "creation_time": 1623225536000,
                "last_modified_time": 1623225536000,
                "is_deleted": false,
                "person_ext_info": {},
                "person_name": "xxx",
                "faces": [
                    {
                        "face_id": 67,
                        "face_img_url": "http://192.168.2.10:8082/device/face_image?userkey=67"
                    }
                ],
                "person_id": 67
            },
            {
                "creation_time": 1623225536000,
                "last_modified_time": 1623225536000,
                "is_deleted": false,
                "person_ext_info": {},
                "person_name": "xxxx",
                "faces": [
                    {
                        "face_id": 60,
                        "face_img_url": "http://192.168.2.10:8082/device/face_image?userkey=60"
                    }
                ],
                "person_id": 60
            }
        ]
    },
    "success": true,
    "message": "操作成功"
}

这是本地的返回, 上周就正常, 但云服务器失败了一周.

第一个原因: GSON默认开启html字符转换,  =60 变成了 U021s之类的. 坑爹啊, 关键本地也没关html字符转换, 但它是正常的! 这可能就是操作系统不一样导致的.

第二个原因: 服务器用了nginx代理, https在nginx上, 到tomcat里获取的request.getScheme()是http, 导致拼出的网址设备拿来请求无法下载图片, 犀利的是浏览器自动识别, 一直都能下载图片[捂脸哭]

原文地址:https://www.cnblogs.com/ztw1122/p/14963446.html