OKHttp3 非编码 URL
OKHttp3 Non-Encoded URL
当我构建如下请求时:
new Request.Builder()
.url("https://bla.com/entry/1411641")
.build();
1411641
变成https://bla.com/entry/%EF%BB%BF1411641
有没有办法在不编码 URL 的情况下构建请求?
使用这个:
new Request.Builder()
.baseUrl("https://bla.com")
.build();
并在界面中
@GET("/entry/{id}/")
Call<ResponseBody> getData(@Path("id") String yourId);
使用这个:
final Request request = new Request.Builder()
.url(HttpUrl.parse("https://bla.com").newBuilder().addPathSegment("entry").addPathSegment("1411641").build())
.post(formBody)
.build();
OkHttpClient client = new OkHttpClient();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(@NonNull Call call, @NonNull IOException e) {
}
@Override
public void onResponse(@NonNull Call call, @NonNull final Response response) throws IOException {
}
});
您的输入中有一个 Unicode 字符 'ZERO WIDTH NO-BREAK SPACE' (U+FEFF),编辑您复制的文本并将其删除。
http://www.fileformat.info/info/unicode/char/feff/index.htm
UTF-8(十六进制)0xEF 0xBB 0xBF(efbbbf)
此附加符号是编码字节顺序掩码(请参阅 https://en.wikipedia.org/wiki/Byte_order_mark)。此隐藏字符包含在您从中复制(或以编程方式读取)条目 ID 的文件中。
阅读文件时跳过此符号即可。或者用正确的编码打开这个文件。
当我构建如下请求时:
new Request.Builder()
.url("https://bla.com/entry/1411641")
.build();
1411641
变成https://bla.com/entry/%EF%BB%BF1411641
有没有办法在不编码 URL 的情况下构建请求?
使用这个:
new Request.Builder()
.baseUrl("https://bla.com")
.build();
并在界面中
@GET("/entry/{id}/")
Call<ResponseBody> getData(@Path("id") String yourId);
使用这个:
final Request request = new Request.Builder()
.url(HttpUrl.parse("https://bla.com").newBuilder().addPathSegment("entry").addPathSegment("1411641").build())
.post(formBody)
.build();
OkHttpClient client = new OkHttpClient();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(@NonNull Call call, @NonNull IOException e) {
}
@Override
public void onResponse(@NonNull Call call, @NonNull final Response response) throws IOException {
}
});
您的输入中有一个 Unicode 字符 'ZERO WIDTH NO-BREAK SPACE' (U+FEFF),编辑您复制的文本并将其删除。
http://www.fileformat.info/info/unicode/char/feff/index.htm
UTF-8(十六进制)0xEF 0xBB 0xBF(efbbbf)
此附加符号是编码字节顺序掩码(请参阅 https://en.wikipedia.org/wiki/Byte_order_mark)。此隐藏字符包含在您从中复制(或以编程方式读取)条目 ID 的文件中。
阅读文件时跳过此符号即可。或者用正确的编码打开这个文件。