Postman encode url 注意事项

作者: OldChicken_ | 来源:发表于2019-04-24 12:24 被阅读0次

    RFC 3986文档规定,Url中只允许包含英文字母(a-z,A-Z)、数字(0-9)、- _ . ~ 4个特殊字符以及所有保留字符。
    RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ]

    当发送带有特殊字符的url请求(如:http://127.0.0.1:8080/list?users[0].age=26&users[0].name=mingming)时,如果不进行encode,就会报错 java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

    Postman是常用的url测试工具,可以方便的对url进行encode(选中需要encode的地方,右击),在使用encode功能时我遇到一个容易犯错的点,encode参数而不是url

    如果encode了整个url,如下图错误示例所示,最终的url是http%3A%2F%2F127.0.0.1%3A8080%2Flist%3Fusers%5B0%5D.age%3D26%26users%5B0%5D.name%3Dmingming,它把url中所有满足特殊字符都按照替换规则都encode了,导致很多满足正常需求的特殊字符也被替换了,如http://中的://

    错误示例.png

    正确的做法是在参数位置选择要加密的参数并加密。


    正确示例.png

    相关文章

      网友评论

        本文标题:Postman encode url 注意事项

        本文链接:https://www.haomeiwen.com/subject/wuowgqtx.html