Bee*_*nny 5 java jersey-client jersey-2.0
我需要进行如下服务调用: http://myservice.com/path ?var1=value1&var2=value2
我遇到的问题是 value1 和 value2 最终被编码,这使得服务调用失败。例如,value1 类似于“a=b&b=c;2&&=”...它基本上包含特殊字符。
我猜测这是服务需要解决的问题 - 正确处理解码编码字符,我认为它目前没有这样做。
以下是我如何提出这些请求的示例:
WebTarget target = client.target("http://test.com")
.path("path1")
.queryParam("var1", var1);
Builder builder = target.request();
...
Run Code Online (Sandbox Code Playgroud)
让我困惑的是,如果我仅使用 Chrome 发出相同的请求,一切都会正常。所以这让我相信我应该通过 Jersey API 来“禁用”编码。
到目前为止,我发现使用“原始”Url 的唯一方法是使用 URI。所以像这样调用
URI uri = URI.create("http://localhost/~Common~0#/edit?vadf&&sfs&&fdsfd=fs&fsd");
WebTarget target = client.target(uri);
Run Code Online (Sandbox Code Playgroud)
你得到请求网址
1 > GET http://localhost/~Common~0#/edit?vadf&&sfs&&fdsfd=fs&fsd
Run Code Online (Sandbox Code Playgroud)
我尝试的其他所有内容都会导致对特殊字符进行编码。
| 归档时间: |
|
| 查看次数: |
4250 次 |
| 最近记录: |