gpt4 book ai didi

java - 有没有办法让 Jersey 不让特殊符号成为 url 安全的?

转载 作者:行者123 更新时间:2023-11-30 11:13:59 24 4
gpt4 key购买 nike

我正在尝试从我的 Java 应用程序访问来自 SalesForce 的 REST 网络服务。我正在使用 Jersey 进行网络服务调用。

private String getRegisterId(String registerName, String accessToken) throws JSONException, BusinessException {
ClientConfig config = new DefaultClientConfig();
config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
Client client = Client.create(config);

WebResource wr = client.resource(salesforeceUrl + "/data/v31.0/query");
JSONObject register = wr //
.queryParam("q", "SELECT+Id+FROM+HealthData_Register__c+WHERE+name+=+'" + registerName + "'+AND+IsDeleted+=+false") //
.header(HttpHeaders.AUTHORIZATION.getValue(), "Bearer " + accessToken) //
.get(JSONObject.class);

JSONArray records = register.getJSONArray("records");
return records.getJSONObject(0).getString("Id");

}

我遇到的问题是,Jersey 非常好,它为我的 queryParam 将 + 符号更改为 %2B,将 + 符号更改为 %3D,但 SalesForce 不喜欢这样。它还为 header 执行此操作。如果我的 accessToken 包含特殊字符,我将收到 401(未经授权)响应。

有没有办法让 Jersey 不让特殊符号成为 url 安全的?

最佳答案

因为它是一个 GET 请求,所以查询参数是 url 编码的是正确的。

为什么在查询中使用符号 + 而不是空格?你试过只放空格吗?服务器真的需要 + 符号而不是空格吗?

关于java - 有没有办法让 Jersey 不让特殊符号成为 url 安全的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26139365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com