okhttp 客户端在 # 符号处截断 http URL
okhttp client truncates http URL at # sign
我正在使用 okhttp 客户端(版本 3.10.0)调用 Bing 服务。测试中使用的地址有#号。
1177 公园大道 STE 5 #190
橙园
佛罗里达州 320734150
美国
http 客户端截断 # 号处的地址部分。 URL通过代码构造的是
代码片段如下所示
Request.Builder builder = bingOkHttpClient.newRequestBuilder(path, buildQueryParams());
builder.addHeader("Accept","application/xml");
bingOkHttpClient.newCall(builder.build()).execute();
如果我用单词 suite 替换 #,那么 url 的构造是正确的
有没有其他方法可以使用 # 构造的 url 不被截断?
一些符号(包括“#”)是无效的 URL 符号。如果您的 URL 需要包含它们,则需要对它们进行编码。所以拿你原来的 URL 字符串并用方法 URLEncoder.encode(...)
编码这是 URLEncoder
的 Javadoc
我正在使用 okhttp 客户端(版本 3.10.0)调用 Bing 服务。测试中使用的地址有#号。
1177 公园大道 STE 5 #190 橙园 佛罗里达州 320734150 美国
http 客户端截断 # 号处的地址部分。 URL通过代码构造的是
代码片段如下所示
Request.Builder builder = bingOkHttpClient.newRequestBuilder(path, buildQueryParams());
builder.addHeader("Accept","application/xml");
bingOkHttpClient.newCall(builder.build()).execute();
如果我用单词 suite 替换 #,那么 url 的构造是正确的
有没有其他方法可以使用 # 构造的 url 不被截断?
一些符号(包括“#”)是无效的 URL 符号。如果您的 URL 需要包含它们,则需要对它们进行编码。所以拿你原来的 URL 字符串并用方法 URLEncoder.encode(...)
编码这是 URLEncoder