使用httpclient 请求报错 :Software caused connection abort: recv failed

2023-11-15

Software caused connection abort: recv failed 

java .net .SocketException: Software caused connection abort: recv failed 

at java .net .SocketInputStream.socketRead0(Native Method) 

at java .net .SocketInputStream.read(SocketInputStream.java :32) 

产生这个异常的原因有多种方面

是由于程序编写的问题,而不是网络的问题引起的. 

总结产生原因,在服务端/客户端单方面关闭连接的情况下,另一方依然以为 
tcp连接仍然建立,试图读取对方的响应数据,导致出现 
Software caused connection abort: recv failed 的异常. 

解决方式:每次请求都要释放连接,在对方释放连接后,也要释放本地的连接.

	public static JSONObject postJson(String url, String json) throws Exception{
		CloseableHttpClient httpclientPost = HttpClients.createDefault();
		HttpPost post = new HttpPost(url);
		JSONObject response = null;
		post.setConfig(requestConfig);
		System.err.println("begin at " + new Date().getTime());
		CloseableHttpResponse res = null;
		try {
			StringEntity s = new StringEntity(json, ContentType.APPLICATION_JSON);
			s.setContentEncoding("UTF-8");
			s.setContentType("application/json");// 发送json数据需要设置contentType
			post.setEntity(s);
			res = httpclientPost.execute(post);
			if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
				HttpEntity entity = res.getEntity();
				String result = EntityUtils.toString(res.getEntity());// 返回json格式:
				response = JSONObject.parseObject(result);
			}
		} catch (Exception e) {
			System.err.println("end at " + new Date().getTime());
			throw e;
		} finally {
			try {
                if (res != null) {
                	res.close();
                }
                post.releaseConnection();
                httpclientPost.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
		}
		
		return response;
	}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用httpclient 请求报错 :Software caused connection abort: recv failed 的相关文章

  • vue使用CSS插件scss时代码报红

    vue使用CSS插件scss时代码报红 问题描述 解决方案 1 打开设置 2 进入setting json文件修改 3 修改setting json文件 解决结果 问题描述 刚开始下载别人的代码 安装依赖运行起来后 样式引用没有问题 发现样
  • 华为OD机试 Python 最佳对手

    题目 在一个游戏中 队伍之间的对战要基于双方的实力来匹配 为了保证游戏体验 我们希望两支队伍的实力差别不超过一个上限值 现在 你将获得若干队伍的实力值 你的任务是进行队伍匹配 要求实力差最小且不超过上限 然后计算这些成功匹配的队伍间的实力差
  • 转:脱字符"^"的由来

    从事IT业二十多年 今年才知道 这个符号叫脱字符 由于最近在学Python的re正则表达式处理 就查了下这个名称的由来 转发如下 脱字符 就是说 在文章中 某个字 打漏了 打脱了 打落了 要在这个中间 把打落了 的字 插入进去 就是使用的这
  • css3设置背景图片的大小

    background size 设置背景图片的大小 以长度值或百分比显示 还可以通过cover和contain来对图片进行伸缩 语法 1 background size auto 默认值 不改变背景图片的高度和宽度 2 background
  • Eigen——问题:无法打开源文件Eigen/Dense,已解决

    刚刚开始准备按照官网的文档实验代码就出现了这个错误 surprise Solution 1 下载Eigen 并解压 1 CSDN http download csdn net download airaybaiju 10237226 2 官

随机推荐

  • 为什么电源中经常用肖特基二极管

    如下图为两个开关电源电路图 下面的二极管都是肖特基二极管 那么为什么电源中都是用肖特基二极管呢 主要有两个原因 1 肖特基二极管导通压降低 一般电源电流比较大 导通压降低意味着损失的功耗低 2 肖特基二极管响应时间快 一般开关电源是通过内部
  • 编程用for和while语句编写10以内相加的c语言程序,C语言循环结构程序设计

    内容详解 while语句 do while语句 for语句 循环嵌套 break和continue语句 实例展示 热身小练 打印6行6列的 矩阵 两个 之间用空格隔开 include int main for int i 1 i lt 6
  • Python-PyCrypto 下载

    python库 用于信息安全的 叫PyCrypto Linux https www dlitz net software pycrypto Windows http www voidspace org uk python modules s
  • VS2005(VC++)远程调试方法

    仅我目前了解很多人还在使用成本很高的本地调试方法 即在需要调试的机器上安装VS环境 这样的好处就是直接 但是成本很高 要在目标机器安装一个VS的Copy 国内可能不是问题 还有源代码安全问题 同步问题等等 开始 已知 A B两个服务器 如果
  • 代码规范及CodeReview要点

    为什么80 的码农都做不了架构师 gt gt gt 一 代码规范的要点 代码规范主要分为风格规范与设计规范两大类 1 代码风格规范 主要是文字上的规定 看似表面文章 实际上非常重要 具体有如下几个方面 1 缩进 2 行宽 3 断行 空白行
  • 单片机c51中断 — 中断键控流水灯

    项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第五章 中断 在第4章的实例2中 按键检测是采用查询法进行的 其流程图如图所示 问题是这样的 由于查询法 按键查询 标志位修改及彩灯循环几个环节是串联关系 当CPU运行于彩灯
  • java 远程从FTP服务器下载文件到本地

    package com cassiatwig liuliangqianbao util import org apache commons net ftp FTPClient import org apache commons net ft
  • HTTP慢速拒绝服务攻击(Slow HTTP Dos)

    HTTP慢速拒绝服务攻击简介 HTTP慢速攻击是利用HTTP合法机制 以极低的速度往服务器发送HTTP请求 尽量长时间保持连接 不释放 若是达到了Web Server对于并发连接数的上限 同时恶意占用的连接没有被释放 那么服务器端将无法接受
  • 如何c语言看字节大小,如何计算C语言结构占用的字节数

    全部展开 结构的数据类型很多 我们不会一long而就 让我们直接看一下相同数据结构的几种书写格式 格式一 01 struct tagPhone 02 03 char A 04 int B 05 short C 06 Phone 格式二 01
  • Matlab统计分析 -- 聚类算法模型

    统计分析 聚类算法模型 距离分析 数据标准化 欧氏距离与量纲有关 因此 有时需要对数据进行预处理 如标准化等 在MATLAB中的命令是zscore 调用格式 Z zscore X 输入X表示N行p列的原始观测矩阵 行为个体 列为指标 输出Z
  • vofuria的开发(4)更换目标图片(target)

    1 首先进入vuforia的官网 接下来的操作就很简单了 如下图中所示 这里如果你不是Unity开发就选择SDK下载 里面有一个 bat的文件一个 xml的文件 将文件放到将这两个文件放到 vuforia sdk Android sampl
  • [Error] invalid operands of types ‘int‘ and ‘double‘ to binary ‘operator%‘

    在运行下面的代码时 编译器报错 Error invalid operands of types int and double to binary operator include
  • SpringMvc ModelAndView 视图解析器和Servlet详解

    一 设置ModelAndView对象 根据View的名称 和视图解析器跳转到指定的页面 页面 视图解析器的前缀 view name 视图解析器的后缀
  • 前端Vue自定义顶部导航栏navBar 导航栏搜索框searchBar 导航栏右侧菜单按钮button

    随着技术的发展 开发的复杂度也越来越高 传统开发方式将一个系统做成了整块应用 经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改 造成牵一发而动全身 通过组件化开发 可以有效实现单独开发 单独维护 而且他们之间可以
  • RBAC权限模型

    权限 权限 是用户可以访问的资源 包括页面权限 操作权限和数据权限 页面权限 页面权限 即用户登录系统可以看到的页面 由菜单控制 菜单包括一级菜单 二级菜单 只有用户有一级菜单 二级菜单的权限 那么用户就可以访问页面 操作权限 操作权限 即
  • 二、UPC-A

    UPC A 1 概述 UPC A 条码是美国较常用也较被广泛认可的条码类型 它主要用于零售行业 例如杂货店 UPC A 由统一杂货产品代码委员会与 IBM 联合开发 2 条码的组成 UPC A 条码由 12 位组成 开头是个单数字系统字符
  • Java热编译热部署插件:JRebel

    修改代码时 会经常遇到一个问题 就是要修改代码 虽然如果是html css js这些会立即生效但是像Java代码还是不行 只要涉及到代码或者配置什么的要重启服务 类似与我修改一个文件 但是想要生效要不然就是单个文件重新run一下 或者服务器
  • day24第三阶段总结

    day24 三阶段总结 课程目标 对第三模块 阶段的知识点进行总结和考试 更好的掌握此模块的相关知识 课程概要 知识补充 阶段总结 思维导图 考试题 1 知识点补充 1 1 并发编程 网络编程 从知识点的角度来看 本身两者其实没有什么关系
  • RS232 485 CAN端口浪涌、脉冲保护电路

    常见端口保护电路记录 实现保护等级 如果需要更高的防护等级需要其他电路配合 由于工作比较忙 有时候查起来太麻烦了 特此记录一下方便查询 模块评估版实物图 实现的保护等级如下 下面是zlg的rsm232完整保护电路 各个器件截图 GDT 气体
  • 使用httpclient 请求报错 :Software caused connection abort: recv failed

    Software caused connection abort recv failed java net SocketException Software caused connection abort recv failed at ja