我正在用Java代码发出GET请求,而我想用来执行GET请求的URL是:
http://localhost:1111/sms/v1/222222?startTime=2015-12-29T14%3A00%3A00.000Z&endTime=2015-12-29T15%3A00%3A00.000Z
但是它的出现如下:
http://localhost:1111/sms/v1/222222?startTime=2015-12-29T14%253A00%253A00.000Z&endTime=2015-12-29T15%253A00%253A00.000Z
请注意,以下字符已被替换:
%至%25
如何确保我的请求已按照我的指定发送。我的代码如下所示:
public static String getRequest(String id, String startTs, String endTs) {
Response response = givenAuthJson("username", "password")
.queryParam("startTime", startTs)
.queryParam("endTime", endTs)
.get(BASE_URL+"/sms/v1/{id}", id);
response
.then()
.spec(responseSpec);
return response.asString();
}
我将此方法称为:
.getRequest(“ 222222”,“ 2015-12-29T14%3A00%3A00.000Z”,“ 2015-12-29T15%3A00%3A00.000Z”);
您能否使用给出的代码给出示例或答案?谢谢。
最佳答案
好-不确定我是否可以回答自己的问题,但是如果有人在做我的事情,这对所有人都有好处!
我通过添加以下内容解决了这个问题
.urlEncodingEnabled(false)
参考:
how to handle Special character in query param value in Rest assured
感谢所有提供帮助的人。
关于java - Java URL编码转义特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49240156/