【问题标题】:java RestAssured: get() method with URL having "%2B" (plus symbol) in itjava RestAssured: get() 方法,其 URL 中包含“%2B”(加号)
【发布时间】:2018-06-15 06:01:34
【问题描述】:

我点击了一个带有加号的 URL。网址示例如下:

https://api.digitalvault.cloud/<someText>/<someText>/samples?v=2.1&<someText>&startTime=2018-06-14T19:54:34%2b08:00&endTime=2018-06-14T01:54:34%2b08:00.

但它没有采用加号的 %2b 符号。以下是我的代码:

RestAssured.given()
    .config(RestAssured.config().sslConfig(new SSLConfig().relaxedHTTPSValidation()))
    .header("Authorization", Authorization).header(HeaderParameter1, HeaderParameterValue1)
    .header(HeaderParameter2, HeaderParameterValue2).get(URI);

其中 URI 是实际的 url。

有人可以建议处理这个问题的方法吗?

【问题讨论】:

  • 请补充您遇到的错误
  • 我收到 400 个错误请求作为响应。当我设置“urlEncodingEnabled(false)”时,出现以下异常:java.lang.IllegalArgumentException: Illegal character in query at index 102

标签: java rest-assured web-api-testing


【解决方案1】:

试试这样的:

String result = java.net.URLDecoder.decode(url, "UTF-8");

例子:

String url = "https://api.digitalvault.cloud/<someText>/<someText>/samples?v=2.1&<someText>&startTime=2018-06-14T19:54:34%2b08:00&endTime=2018-06-14T01:54:34%2b08:00";
System.out.println("Before ENCODING: "+url);
String result = java.net.URLDecoder.decode(url, "UTF-8");
System.out.println("After ENCODING: "+result);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 2022-06-29
    • 2014-09-04
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多