【发布时间】:2021-08-04 17:28:52
【问题描述】:
我在 tomcat 中部署了一个 Java Web 应用程序。
如果我的 URL 是这样的,我会收到来自 Tomcat 8 的 400 Bad request
https://<serverurl>?cmisSelector=object&objectId=TyNGT0wjJSMwMDAjMDAjIyMj&filter=cmis:createdBy,a:b:ab,a:b:abc&renditionFilter=cmis:thumbnail,application/pdf,image/bmp,image/gif,image/jpeg,image/png
编码为
https%3A%2F%2F%3Cserverurl%3E%3FcmisSelector%3Dobject%26objectId%3DTyNGT0wjJSMwMDAjMDAjIyMj%26filter%3Dcmis%3AcreatedBy%2Ca%3Ab%3Aab%2Ca%3Ab%3Aabc%26renditionFilter%3Dcmis%3Athumbnail%2Capplication%2Fpdf%2Cimage%2Fbmp%2Cimage%2Fgif%2Cimage%2Fjpeg%2Cimage%2Fpng
但如果我从 URL 中删除 a:b:ab,a:b:abc 和 renditionFilter=cmis:thumbnail,application/pdf,image/bmp,image/gif,image/jpeg,image/png 然后它有效,这个 URL 的形成如下所示
https://<serverurl>?cmisSelector=object&objectId=TyNGT0wjJSMwMDAjMDAjIyMj&filter=cmis:createdBy
似乎是一些 URL 编码问题,但无法找出确切的问题。
【问题讨论】:
-
难道我们不必用
%3A转义:吗? -
是的,它只发生在 %3A 上
-
试试
https://<serverurl>?cmisSelector=object&objectId=TyNGT0wjJSMwMDAjMDAjIyMj&filter=cmis%3AcreatedBy%2Ca%3Ab%3Aab%2Ca%3Ab%3Aabc&renditionFilter%3Dcmis%3Athumbnail%2Capplication%2Fpdf%2Cimage%2Fbmp%2Cimage%2Fgif%2Cimage%2Fjpeg%2Cimage%2Fpng
标签: java http tomcat urlencode