热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaHTTP连接似乎保持打开状态

我已经在Java中创建了到私有API的连接StringurlRequesthttps:localhost:8080orderscreate;Stringusernametes

我已经在Java中创建了到私有API的连接

String urlRequest = "https://localhost:8080/orders/create";
String username = "test";
String password = "test";
String certificatePass = "test";
byte[] authEncBytes = Base64.getEncoder().encode((username + ":" + password).getBytes());
URL url = new URL(urlRequest);
HttpURLConnection cOnn= (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Basic " + new String(authEncBytes));
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
InputStream is = conn.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
is.close();

初始传递之后,连接似乎保持打开状态,因为从头开始运行代码时,HttpURLConnection在conn.setRequestMethod(“ POST”);处引发异常,


“Can’t reset method: already connected”


我设法以某种方式将其关闭,我不知道自己做了什么,但是有人知道这里的问题可能是什么吗?在此期间,我重新启动了PC,但仍会在conn.setRequestMethod(“ POST”);上引发异常,我不知道如何在重新启动之间保持连接.在尝试设置请求方法之前,我还尝试添加conn.disconnect(),但这似乎也不起作用.唯一有所作为的是更改URL,但是我只能连接一次,每次下一次运行代码都会给我同样的异常.

如何正确关闭连接?

解决方法:

今天又遇到了问题,问题出在调试模式下.我当时在打电话给connect,我想在测试时会这样,以防万一有人不知道,表达式确实会影响您的变量并可以更改内存中的内容.例如,具有:

int a = 5;
System.out.println(a);

在您的代码中,并且“表达式”列表中的a = 6,System.out.println(a)将输出6,而不是5.

删除表达式解决了我的问题.


推荐阅读
author-avatar
Random,
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有