如何防止双正斜杠被编码?
How to Prevent Double Forward Slash From Being Encoded?
我正在发出类似于以下内容的获取请求:
https://endpoint.com/path/to/what//want?param=value
我故意遗漏了一个介于 'what' 和 'want' 之间的值,以测试它是否会产生 404 错误。
问题是由于某种原因它在手前被编码并且正在发送的是:
https://endpoint.com/path/to/what%2f%2fwant?param=value
这会导致返回 400,因为这只是一个错误的请求。
我知道我可以关闭编码,但有时 param/value 组合需要编码,所以我想避免这样做。
我试过使用普通连接和 StringBuilder 形成连接字符串,但这没有任何区别。
任何尝试尝试的提示或其他事情将不胜感激。
您唯一的选择是使用以下方法禁用 URL 编码:
given().urlEncoding(false). ..
然后 URL 对您希望 url 手动编码的部分进行编码。 REST Assured 不能总是正确猜测,这就是这种情况。
我正在发出类似于以下内容的获取请求: https://endpoint.com/path/to/what//want?param=value
我故意遗漏了一个介于 'what' 和 'want' 之间的值,以测试它是否会产生 404 错误。 问题是由于某种原因它在手前被编码并且正在发送的是: https://endpoint.com/path/to/what%2f%2fwant?param=value
这会导致返回 400,因为这只是一个错误的请求。
我知道我可以关闭编码,但有时 param/value 组合需要编码,所以我想避免这样做。
我试过使用普通连接和 StringBuilder 形成连接字符串,但这没有任何区别。
任何尝试尝试的提示或其他事情将不胜感激。
您唯一的选择是使用以下方法禁用 URL 编码:
given().urlEncoding(false). ..
然后 URL 对您希望 url 手动编码的部分进行编码。 REST Assured 不能总是正确猜测,这就是这种情况。