服务器写入cookie线上失败

试过换域名什么的,本地测试可以正常获取,线上获取不到,本地一切正常
try {
            if (cookieValue == null) {
                cookieValue = "";
            } else if (isEncode) {
                cookieValue = URLEncoder.encode(cookieValue, "utf-8");
            }
            Cookie cookie = new Cookie(cookieName, cookieValue);
            if (cookieMaxage > 0)
                cookie.setMaxAge(cookieMaxage);
            if (null != request) {// 设置域名的cookie

                String domainName = getDomainName(request);
                //logger.info("========== domainName: {} ==========", domainName);
                if (!"localhost".equals(domainName)) {
                    cookie.setDomain(domainName);
                    //cookie.setDomain(".unionpay.com");    //测试此地址  写死
                    logger.info("========== domainName: {} ==========", domainName);
                }
            }
            cookie.setPath("/");
            response.addCookie(cookie);
        } catch (Exception e) {
            e.printStackTrace();
        }

​


private static final String getDomainName(HttpServletRequest request) {
String domainName = null;

    String serverName = request.getRequestURL().toString();
    if (serverName == null || serverName.equals("")) {
        domainName = "";
    } else {
        //serverName = serverName.toLowerCase();
        serverName = serverName.toLowerCase(Locale.ENGLISH);    //测试
        serverName = serverName.substring(7);
        final int end = serverName.indexOf("/");
        serverName = serverName.substring(0, end);
        if (serverName.indexOf(":") > 0) {
            String[] ary = serverName.split("\\:");
            serverName = ary[0];
        }

        final String[] domains = serverName.split("\\.");
        int len = domains.length;
        if (len > 3 && !isIp(serverName)) {
            // www.xxx.com.cn
            domainName = "." + domains[len - 3] + "." + domains[len - 2] + "." + domains[len - 1];
        } else if (len <= 3 && len > 1) {
            // xxx.com or xxx.cn
            domainName = "." + domains[len - 2] + "." + domains[len - 1];
        } else {
            domainName = serverName;
        }
    }
    return domainName;
}

```

```java

线上怎么才能发送给客户端

cookie 一般的话,你只要写入到请求中了,那么就会返回给客户端;
如果写入cookie不成功之类的,看看你运行服务器的用户,有没有写入服务器的权限。
这样即可解决。

如果不能解决,欢迎来交流。

你写死的?

img

img


正常写入,客户端就可以收到的

你看看这个笔记是否帮助到你【cookie 无法写入】,链接:https://www.freesion.com/article/19881304462/

解决cookie无法写入的问题
https://blog.csdn.net/sinat_38570489/article/details/91039522