请求代码如下:
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
RequestBody body = RequestBody.create(jsonData, mediaType);
Request request = new Request.Builder()
.url("http://be_host:8030/api/dbname/tablename/_stream_load")
.method("PUT", body)
.addHeader("Expect", "100-continue")
.addHeader("format", "json")
.addHeader("strip_outer_array", "true")
.addHeader("Authorization", "Basic xxxxxxxxxxx")
.build();
Response response = client.newCall(request).execute();
请求一直报错,百度发现 Okhttp 重定向的时候会移除 Authorization 请求头,请问改如何解决?
- 一定要重定向,客户端是不是把数据完整的提交了两次,一次给 be 一次给 fe?是不是有点浪费流量?
- 第一次响应的响应头如下
HTTP/1.1 307
Connection: close
Content-Language: zh-CN
Date: Thu, 12 Sep 2024 13:24:58 GMT
Location: http://root%40default_cluster:password@fe_host:8040/api/dbname/tablename/_stream_load?
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
响应头的 Location 格式很怪,为什么是这种格式?代码如何处理重定向呢?