问题是我们的前端认为这个 url 有效,而后端认为它不是。网址是
http://pyxlmedia.com/pc/talk=now&o=http://mobile.tmall.com/mobile。
你可以看到在 pc 这个词之后是一个 '/' 而不是 '?'。
如果我将 '/' 更改为 '?' 然后都通过,即
http://pyxlmedia.com/pc?talk=now&o=http://mobile.tmall.com/mobileorg.apache.commons.validator.routines.UrlValidator(1.5.1) 和站点
都认为有效
http://formvalidation.io/validators/uri/。
测试代码是
@Test
public void test() {
UrlValidator urlValidator = new UrlValidator(new String[] {"http", "https"});
assertTrue(urlValidator.isValid("http://pyxlmedia.com/pc/talk=now&o=http://mobile.tmall.com/mobile"));
}
Run Code Online (Sandbox Code Playgroud)
首先我想知道哪个是错误的,前端还是后端?那么如何让他们的行为保持一致呢?