http 请求 StarRocksStream Load遇到错误码307dependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp/artifactIdversion4.12.0/version/dependencypublicstaticvoidmain(String[]args){OkHttpClienthttpClientnewOkHttpClient.Builder().connectTimeout(30,TimeUnit.SECONDS).readTimeout(120,TimeUnit.SECONDS).writeTimeout(120,TimeUnit.SECONDS).followRedirects(true)// 默认 true跟 301/302/303/307/308.followSslRedirects(true)// 默认 true跟 https↔https.build();try{Stringbody{\bid_cid\:1000,\bid_realized_amount\:0,\trend_side\:\BUY\,\ask_user_id\:11377,\bid_id\:0,\mtime\:1779138579000,\ask_id\:0,\volume\:19,\ask_realized_amount\:0,\buy_fee\:0,\ask_cid\:1000,\price\:2119.5,\ctime\:1779138579000,\id\:21023454,\bid_user_id\:11377,\sell_fee\:0,\source_table\:\co_trade_e_ethusdt\,\binlogFile\:\mysql-bin.038191\,\binlogPosition\:31850563,\op\:\c\,\ts\:\2026-05-18 21:09:40\,\dt\:\2026-05-18\};// String url http://192.168.154.2:18040 /api/ ods// / ods_co_trade_history /_stream_load;Stringurlhttp://192.168.154.2:8030/api/ods/ods_co_trade_history/_stream_load;RequestBodyrequestBodyRequestBody.create(body,MediaType.parse(application/json; charsetutf-8));RequestrequestnewRequest.Builder().url(url).put(requestBody).addHeader(label,flink_stream_load_label1).addHeader(format,json).addHeader(strip_outer_array,false).addHeader(Expect,100-continue).addHeader(Authorization,Credentials.basic(root,123456)).build();ResponseresponsehttpClient.newCall(request).execute();StringrespBodyresponse.body()!null?response.body().string():;booleanokresponse.isSuccessful();System.out.println(respBody);System.out.println(response);}catch(Exceptione){e.printStackTrace();}}问题记录no valid Basic authorization{TxnId:-1,Label:flink_ods_0_1779181518093_ods_co_trade_history,Db:ods,Table:ods_co_trade_history,Status:Fail,Message:no valid Basic authorization,NumberTotalRows:0,NumberLoadedRows:0,NumberFilteredRows:0,NumberUnselectedRows:0,LoadBytes:0,LoadTimeMs:0,BeginTxnTimeMs:0,StreamLoadPlanTimeMs:0,ReadDataTimeMs:0,WriteDataTimeMs:0,CommitAndPublishTimeMs:0}当重定向到不同主机时OkHttp 会主动剥离 Authorization 头安全策略。解决自定义 Interceptor 强制保留认证头OkHttpClienthttpClientnewOkHttpClient.Builder().addNetworkInterceptor(newRedirectAuthInterceptor(root,123456)).connectTimeout(30,TimeUnit.SECONDS).readTimeout(120,TimeUnit.SECONDS).writeTimeout(120,TimeUnit.SECONDS).followRedirects(true)// 默认 true跟 301/302/303/307/308.followSslRedirects(true)// 默认 true跟 https↔https.build();/** * 关键强制在重定向后保留 Authorization 头 */staticclassRedirectAuthInterceptorimplementsInterceptor{privatefinalStringauthHeader;RedirectAuthInterceptor(Stringuser,Stringpassword){this.authHeaderCredentials.basic(user,password);}OverridepublicResponseintercept(Chainchain)throwsIOException{Requestoriginalchain.request();Requestrequestoriginal.newBuilder().header(Authorization,authHeader).build();returnchain.proceed(request);}}{TxnId:39821,Label:flink_stream_load_label2,Db:ods,Table:ods_co_trade_history,Status:Success,Message:OK,NumberTotalRows:1,NumberLoadedRows:1,NumberFilteredRows:0,NumberUnselectedRows:0,LoadBytes:418,LoadTimeMs:76,BeginTxnTimeMs:2,StreamLoadPlanTimeMs:5,ReadDataTimeMs:0,WriteDataTimeMs:49,CommitAndPublishTimeMs:19}错误码307.followRedirects(false)Response{protocolhttp/1.1,code307,messageTemporary Redirect,urlhttp://192.168.154.2:8030/api/ods/ods_co_trade_history/_stream_load}.followRedirects(true)Response{protocolhttp/1.1,code200,messageOK,urlhttp://192.168.154.2:18040/api/ods/ods_co_trade_history/_stream_load}
okhttp Stream Load 含认证请求重定向
http 请求 StarRocksStream Load遇到错误码307dependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp/artifactIdversion4.12.0/version/dependencypublicstaticvoidmain(String[]args){OkHttpClienthttpClientnewOkHttpClient.Builder().connectTimeout(30,TimeUnit.SECONDS).readTimeout(120,TimeUnit.SECONDS).writeTimeout(120,TimeUnit.SECONDS).followRedirects(true)// 默认 true跟 301/302/303/307/308.followSslRedirects(true)// 默认 true跟 https↔https.build();try{Stringbody{\bid_cid\:1000,\bid_realized_amount\:0,\trend_side\:\BUY\,\ask_user_id\:11377,\bid_id\:0,\mtime\:1779138579000,\ask_id\:0,\volume\:19,\ask_realized_amount\:0,\buy_fee\:0,\ask_cid\:1000,\price\:2119.5,\ctime\:1779138579000,\id\:21023454,\bid_user_id\:11377,\sell_fee\:0,\source_table\:\co_trade_e_ethusdt\,\binlogFile\:\mysql-bin.038191\,\binlogPosition\:31850563,\op\:\c\,\ts\:\2026-05-18 21:09:40\,\dt\:\2026-05-18\};// String url http://192.168.154.2:18040 /api/ ods// / ods_co_trade_history /_stream_load;Stringurlhttp://192.168.154.2:8030/api/ods/ods_co_trade_history/_stream_load;RequestBodyrequestBodyRequestBody.create(body,MediaType.parse(application/json; charsetutf-8));RequestrequestnewRequest.Builder().url(url).put(requestBody).addHeader(label,flink_stream_load_label1).addHeader(format,json).addHeader(strip_outer_array,false).addHeader(Expect,100-continue).addHeader(Authorization,Credentials.basic(root,123456)).build();ResponseresponsehttpClient.newCall(request).execute();StringrespBodyresponse.body()!null?response.body().string():;booleanokresponse.isSuccessful();System.out.println(respBody);System.out.println(response);}catch(Exceptione){e.printStackTrace();}}问题记录no valid Basic authorization{TxnId:-1,Label:flink_ods_0_1779181518093_ods_co_trade_history,Db:ods,Table:ods_co_trade_history,Status:Fail,Message:no valid Basic authorization,NumberTotalRows:0,NumberLoadedRows:0,NumberFilteredRows:0,NumberUnselectedRows:0,LoadBytes:0,LoadTimeMs:0,BeginTxnTimeMs:0,StreamLoadPlanTimeMs:0,ReadDataTimeMs:0,WriteDataTimeMs:0,CommitAndPublishTimeMs:0}当重定向到不同主机时OkHttp 会主动剥离 Authorization 头安全策略。解决自定义 Interceptor 强制保留认证头OkHttpClienthttpClientnewOkHttpClient.Builder().addNetworkInterceptor(newRedirectAuthInterceptor(root,123456)).connectTimeout(30,TimeUnit.SECONDS).readTimeout(120,TimeUnit.SECONDS).writeTimeout(120,TimeUnit.SECONDS).followRedirects(true)// 默认 true跟 301/302/303/307/308.followSslRedirects(true)// 默认 true跟 https↔https.build();/** * 关键强制在重定向后保留 Authorization 头 */staticclassRedirectAuthInterceptorimplementsInterceptor{privatefinalStringauthHeader;RedirectAuthInterceptor(Stringuser,Stringpassword){this.authHeaderCredentials.basic(user,password);}OverridepublicResponseintercept(Chainchain)throwsIOException{Requestoriginalchain.request();Requestrequestoriginal.newBuilder().header(Authorization,authHeader).build();returnchain.proceed(request);}}{TxnId:39821,Label:flink_stream_load_label2,Db:ods,Table:ods_co_trade_history,Status:Success,Message:OK,NumberTotalRows:1,NumberLoadedRows:1,NumberFilteredRows:0,NumberUnselectedRows:0,LoadBytes:418,LoadTimeMs:76,BeginTxnTimeMs:2,StreamLoadPlanTimeMs:5,ReadDataTimeMs:0,WriteDataTimeMs:49,CommitAndPublishTimeMs:19}错误码307.followRedirects(false)Response{protocolhttp/1.1,code307,messageTemporary Redirect,urlhttp://192.168.154.2:8030/api/ods/ods_co_trade_history/_stream_load}.followRedirects(true)Response{protocolhttp/1.1,code200,messageOK,urlhttp://192.168.154.2:18040/api/ods/ods_co_trade_history/_stream_load}