Java Cookie值中存在无效字符[59]

Java Cookie值中存在无效字符[59],java,tomcat,cookies,Java,Tomcat,Cookies,因此,我看到了关于这一点的其他问题,但没有一个能够解决我的问题 我得到一份工作 org.apache.jasper.JasperException: java.lang.IllegalArgumentException: An invalid character [59] was present in the Cookie value 错误。我正在使用DeviceLookupClient.jar,它在tomcat拒绝的地方添加了一个cookie 因此,当我在一切成功后在weblogic中运行此

因此,我看到了关于这一点的其他问题,但没有一个能够解决我的问题

我得到一份工作

org.apache.jasper.JasperException: java.lang.IllegalArgumentException: An invalid character [59] was present in the Cookie value
错误。我正在使用DeviceLookupClient.jar,它在tomcat拒绝的地方添加了一个cookie

因此,当我在一切成功后在weblogic中运行此功能时,我会得到这个cookie(从网络选项卡):


在tomcat中运行相同的代码,它在创建cookie之前就失败了。我相信[59]字符是一个分号,我没有看到任何分号。如果该cookie中的某些内容是不允许的,那么有没有一种方法可以允许它,而不是操纵我正在使用的库?

如果您对给定值进行如下编码,则可能会得到解决:

URLEncoder.encode(""{\"capabilities\":{\"is_smart…383,\"id\":\"firefox_54_0\"}"","UTF-8");

如果你检查这个问题,它也说逗号是不允许的。可能是因为它的逗号有问题,并且抛出了一个错误,即您有一个分号?@Michael感谢您的评论。这很有趣,我将尝试一些方法,看看是否可以在另一个页面上使用cookie中的逗号复制错误。因此,无论我做什么,它都可以在本地tomcat服务器和weblogic服务器的每个实例上工作。也许您的远程服务器的配置与您的本地服务器略有不同?在这种情况下,您必须对我不熟悉的tomcat服务器设置进行更多的研究是的,我认为这会解决问题,但不幸的是,cookie被添加到我正在使用的库(DeviceLookupClient.jar)的深处。我想我可以把它改一下,重新装上,但我们通常不这么做。
URLEncoder.encode(""{\"capabilities\":{\"is_smart…383,\"id\":\"firefox_54_0\"}"","UTF-8");