Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Okhttp在代理连接关闭后发送http请求

Okhttp在代理连接关闭后发送http请求
EN

Stack Overflow用户
提问于 2020-02-23 21:05:03
回答 1查看 134关注 0票数 0

我通过代理发送我的请求,它似乎每10-15秒就关闭一次连接。因此,如果客户端请求一个网站并且花费了一些时间,那么连接可能会关闭,因此okhttp库会抛出“流的意外结束”。即使连接关闭并且库抛出异常,服务器也已经成功地接收到请求,但是客户端无法检查答案。如果我尝试在没有代理的情况下请求相同的url,我没有问题,并且我成功地接收到了答案。在这里你可以看到wireshark:wireshark capture

在照片的末尾,您可以看到客户端在19:27:54,980发出的请求,然后在10秒后,客户端收到FIN tcp数据包。所以在那之后Okhttp抛出了这个异常:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.io.IOException: unexpected end of stream on Connection{m.apuestas.codere.es:443, proxy=HTTP @ /185.163.232.127:58542 hostAddress=/185.163.232.127:58542 cipherSuite=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA protocol=http/1.1}
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.telecobets.http.HTTPClient$LoggingInterceptor.intercept(HTTPClient.java:219)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.telecobets.http.HTTPClient$AddHeadersInterceptor.intercept(HTTPClient.java:199)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
at okhttp3.RealCall.execute(RealCall.java:77)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:188)
at com.main(Main.java:375)
Caused by: java.io.EOFException: \n not found: limit=0 content=…
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:237)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
... 26 more

关闭连接的不是服务器,因为我一直在同时向不同的服务器发出不同的请求,但同时连接突然关闭。所以我的问题是,有没有一种方法可以在连接被代理服务器关闭的情况下收到答案?

整个wireshark捕获都是here

代理IP: 185.163.232.127:58542

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-05 14:31:39

代理服务器提供程序每10秒断开一次连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60366838

复制
相关文章
OkHttp搞定Http请求
当网络出现问题时,OkHttp会自动恢复一般的连接问题;若服务有多个IP地址,当第一个IP请求失败时,OkHttp会交替尝试你配置的其他IP。
鱼找水需要时间
2023/02/16
2.6K0
发送Http请求
这是第一部分, 主要使用的是AngleSharp: https://anglesharp.github.io/
solenovex
2022/11/24
4.2K0
发送Http请求
发送HTTP请求
可以创建%Net.HttpRequest的实例来发送各种HTTP请求并接收响应。此对象相当于Web浏览器,可以使用它发出多个请求。它会自动发送正确的cookie,并根据需要设置Referer标头。
用户7741497
2022/06/09
1.1K0
发送HTTP请求
发出HTTP POST请求。使用此方法可将数据(如表单结果)发送到Web服务器,或上载文件。有关示例,请参阅“发送表单数据”。
用户7741497
2022/06/09
2.2K0
CloseableHttpClient发送http请求
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127141.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/25
9590
Java发送HTTP 请求
请求http的Demo是个人亲测过,目前该方式已经在线上运行着。因为是http请求,所有发送post 和get 请求的demo都有在下方贴出,包括怎么测试,大家可直接 copy到自己的项目中使用。
胖虎
2019/06/26
2.4K0
Android开发中运用okhttp发送网络请求
最近因为一些原因重新接触弃疗好久的android,突然发现在之前的版本中android比较用的比较多的httpclient不能用了…现在的异步访问方式用起来又感觉有点麻烦,然后经一个同学提醒想起来一个大牛学长之前在项目中用过的okhttp,然后就用了下,其实速度和使用方式还是很不错的,但是遇到了一些小问题,在这里笔记下。 下载 okhttp的githup地址,可以看到是支持maven和gradle导入的: https://github.com/square/okhttp 首页文档: http://squar
NaOH
2018/05/29
8320
在Java中,使用HttpUtils实现发送HTTP请求
HTTP请求,在日常开发中,还是比较常见的,今天给大家分享HttpUtils如何使用。
冯文议
2023/03/12
4.4K0
在Java中,使用HttpUtils实现发送HTTP请求
Android OKHttp发送get网络请求实例
于是乎。。这两个里面果断的选择了第一个,因为名字是自己取的,按照python来说,默认的都是系统的。
SingYi
2022/07/14
7820
Android OKHttp发送get网络请求实例
socket模拟发送http请求
嗨,小伙伴们,好久不见~~~,最近博主在研究socket编程,觉得socket真的好强大。之前一直我们都是在介绍爬虫的requests、urllib等库,我们知道它们都是基于HTTP协议来实现的,但从来没有讲过这个是如何实现的。今天要是讲的话,一时半会也说不清楚,最重要的是,我怕自己讲不明白。这样大家就变的更糊涂,所以我就不讲了。今天要说的是如何基于socket来发送http请求。
啃饼思录
2018/10/25
5K0
[Go] Golang发送http GET请求
使用标准库http来实现 package tools import ( "io/ioutil" "net/http" ) func Get(url string)string{ res, err :=http.Get(url) if err != nil { return "" } robots, err := ioutil.ReadAll(res.Body) res.Body.Close() if err != nil {
唯一Chat
2020/09/17
1.4K0
Java发送Http请求(HttpClient)
HttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
ha_lydms
2023/08/09
1K0
OkHttp源码解析(十) OKHTTP中连接与请求及总结
主要看下ConnectInterceptor()方法,里面代码已经很简单了,受限了通过streamAllocation的newStream方法获取一个流(HttpCodec 是个接口,根据协议的不同,由具体的子类的去实现),第二步就是获取对应的RealConnection,由于在上一篇文章已经详细解释了RealConnection和streamAllocation类了,这里就不详细说了是大概聊一下
隔壁老李头
2018/08/30
1.1K1
OkHttp源码解析(十) OKHTTP中连接与请求及总结
使用OkHttp发送POST请求的快速入门指南
在本篇简短的技术文章中,我们将特别介绍 OkHttp 3.x 版本中发送Post请求的不同方式。
明明如月学长
2021/08/31
10.4K0
刷新/关闭页面之前发送请求
本文中提到的链接,因为微信的限制,没有显示出来,查看文中链接,需要点击最下方的阅读原文链接
OBKoro1
2020/10/27
3.6K0
刷新/关闭页面之前发送请求
一个TCP连接可以发送多少个HTTP请求?
一道经典的面试题是从URL在浏览器被输入到页面展现的过程中发生了什么?大多数回答都是请求响应之后DOM是怎么被构建、被绘制出来。
Clearlove
2019/09/23
9750
一个TCP连接可以发送多少个HTTP请求?
springboot发送http请求,springboot http post json
高久峰
2023/07/02
5570
Vue学习-axios发送http请求
在src下新建api目录,在该目录下新建index.js和api.js文件,文件内容如下: index.js
Autooooooo
2020/11/09
1.8K0
Vue学习-axios发送http请求
点击加载更多

相似问题

如何关闭与okhttp的HTTP连接?

13

HTTP:发送请求后关闭socket进行写入?

24

C++ -在连接关闭后发送HTTP /GET

10

OkHttp在请求超时时未关闭连接

10

代理后的单http请求

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文