博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpURLConnection Cannot write output after reading input.
阅读量:6603 次
发布时间:2019-06-24

本文共 2019 字,大约阅读时间需要 6 分钟。

hot3.png

是因为 , 我在 用了 int 管道之后, 又 用了 out 管道, 所以报错了, 没测试。。。 又坑了。

public static String sendPostRequest(String path,String param) throws IOException {		String sendUrlString=path+param;				URL url = new URL(sendUrlString);		HttpURLConnection conn = (HttpURLConnection) url.openConnection();		//设置post方式请求		conn.setRequestMethod("POST");		//将超时控制在 8S 内,因为没有 引入 多线程发送。为了防止RTX 那边有问题,延迟太久了,对用户体验不太好。		// 一般 反应是很快的,所以不考虑 使用线程池了。没必要搞复杂。		conn.setReadTimeout(3000); // 读取  超时 3秒 。		conn.setConnectTimeout(5000);//连接超时 5秒 。				//conn.setRequestProperty("Accept-Charset", "utf-8");		//conn.setRequestProperty("contentType", "utf-8");		conn.setRequestProperty("Content-type", "application/x-java-serialized-object");						//设置传入参数,post 		conn.setDoOutput(true); 		conn.connect(); // 主动建立间接 。,默认也是会建立的。				//传入参数		//conn.getOutputStream().write(param.toString().getBytes());		// 解决中文乱码, 在 Linux 下没有乱码,本地有 ,估计 Linux 已经 帮我们转码了一次了。		// 而且 Linux 下 的默认编码并没有 和 本地的一致,比如tomcat的啊, 系统的啊,没有 该为 默认中文的等。		// 既然这样 在 Linux 下没有 乱码,可以不用管,如果以后  可以 去 修改 服务器里面的 编码。		//BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));				// 解决中文乱码,在 Linux 下有乱码,本地没有		//BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"GBK"));				// out 管道 必须放在 int 管道之前 使用的。这个是 HRRt 规定的		//可以不主动关闭, 默认会自动关闭的。特别是 随着 int 管道关闭同时关闭的。		conn.getOutputStream().flush(); // 这个最好有		 conn.getOutputStream().close();  // 关闭代码可以不用。				InputStreamReader isreader = new InputStreamReader(conn.getInputStream());		BufferedReader reader = 				new BufferedReader(isreader);				String readingString= "";		// 读取完所有内容		String readl=null;		while (( readl=reader.readLine() )!=null) {						readingString=readingString+readl;						readl=null;		}				// 必须放在 int 管道之前 使用的。, 不要放在 这里,会报错:  Cannot write output after reading input.		//conn.getOutputStream().close(); 				// 养成 关闭 管道的习惯 。		conn.getInputStream().close();		isreader.close();		reader.close();				return readingString;			}

参考地址:

参考地址:

转载于:https://my.oschina.net/u/2419285/blog/848143

你可能感兴趣的文章
Windows Server 2012正式版RDS系列⑽
查看>>
The MySQL server has gone away
查看>>
freebsd上配置rsync服务
查看>>
Hibernate导出表代码
查看>>
用户输入和while循环
查看>>
keystone验证安装
查看>>
将datatable 保存为 Excel文件(高效率版本)
查看>>
C/C++五大内存分区(转)
查看>>
System V 共享内存区
查看>>
springmvc_1(hello world)
查看>>
0.随笔——读后感
查看>>
Linux基本安全措施、加强系统账号密码安全、系统引导和登录安全、用户切换、su、sudo、grub菜单...
查看>>
StringUtils类方法解析
查看>>
CentOS 6.5下PXE+Kickstart无人值守安装操作系统
查看>>
Nginx ssl/https 配置
查看>>
客户端通过TCP通信分页从服务器获取数据
查看>>
steps of Tie Line Change(Avaya G450)
查看>>
HTTP协议包头分析
查看>>
HNUSTOJ-1600 BCD时钟
查看>>
oracle范围分区表和INTERVAL分区表相互转化
查看>>