当前位置: 首页 > 知识库问答 >
问题:

OkHttp Android流已重置:HTTP_1_1_REQUIRED

壤驷雅达
2023-03-14

我们正在开发一个Android应用程序,该应用程序应该使用HTTP/2连接到我们的Azure应用程序服务。在Azure App服务上,我们通过使用以下博客文章中的步骤启用了HTTP/2:https://blogs.msdn.microsoft.com/appServiceeam/2018/04/13/uncasting-http2-support-in-azure-app-service/

我们使用的是OKHTTP3.10.0版。

StackTrace:

    06-08 15:54:00.173 31318-31351/be.wgkovl.evdt W/be.wgkovl.evdt.utils.BaseService: stream was reset: HTTP_1_1_REQUIREDokhttp3.internal.http2.StreamResetException: stream was reset: HTTP_1_1_REQUIRED
                at okhttp3.internal.http2.Http2Stream.takeResponseHeaders(Http2Stream.java:153) ~[na:0.0]
                at okhttp3.internal.http2.Http2Codec.readResponseHeaders(Http2Codec.java:125) ~[na:0.0]
                at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[na:0.0]
                at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[na:0.0]
                at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[na:0.0]
                at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[na:0.0]
                at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) ~[na:0.0]
                at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) ~[na:0.0]
                at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) ~[na:0.0]
                at okhttp3.RealCall.execute(RealCall.java:77) ~[na:0.0]
                at be.wgkovl.evdt.utils.BaseService.executeRequest(BaseService.java:277) ~[na:0.0]
                at be.wgkovl.evdt.service.UserManagementService$1.doInBackground(UserManagementService.java:123) ~[na:0.0]
                at be.wgkovl.evdt.service.UserManagementService$1.doInBackground(UserManagementService.java:101) ~[na:0.0]
                at android.os.AsyncTask$2.call(AsyncTask.java:295) ~[na:0.0]
                at java.util.concurrent.FutureTask.run(FutureTask.java:237) ~[na:0.0]
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) ~[na:0.0]
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) ~[na:0.0]
                at java.lang.Thread.run(Thread.java:818) ~[na:0.0]

共有1个答案

时才俊
2023-03-14

在生成器中添加此行

.protocols(Util.immutableList(Protocol.HTTP_1_1))

像这样

 private OkHttpClient client = new OkHttpClient.Builder()
            .protocols(Util.immutableList(Protocol.HTTP_1_1))
            .build();
 类似资料:
  • 问题内容: 我知道Java中有一个函数可以使用method 将标准输出流设置为任何用户定义的值。 但是,是否有任何方法可以将标准输出重置为先前存储的标准输出还是标准输出? 问题答案: 您可以通过持有标准的文件描述符。要重置标准以打印到控制台,您可以 另一种方法是仅保留原始对象,如下所示:

  • 下面是我的代码: 从下面的函数调用上面的函数: 我不知道为什么。

  • 在Kafka Streams中添加压缩配置,类似于此链接: 但是我在日志中看到以下警告消息: 这个设置不受尊重吗?是不是表达得不好?

  • 我想使用stream getfirst方法两次,但是出现了一个错误,即(java.lang.IllegalStateException:stream已经被操作或关闭),并且这个流代码以此处命名的注释开始。

  • 使用Firebase,在我获取并激活远程配置值之后,调用将给出来自远程源的值。我知道我可以调用或来获取默认值。但是,如何重置已激活的数据,以便调用再次给出默认值? 此外,持久化的激活值是否会被清除?

  • 问题内容: 我刚遇到一个我无法解决的问题。 我有一个用作队列的数据库表,我在其中存储一些记录。处理记录后,它们将被删除。删除是由Rails构建在一个触发MySql数据库的循环中调用的。 但是现在我注意到,在表中将 autoIncrement Id (主键)设置回 1 。(这损坏了我在审计表中的引用。相同记录现在指向多个不同的项目队列) 我不使用或删除表构造,而是在代码中再次创建它。 是否有人遇到像