java http 状态_Java HTTP连接似乎保持打开状态
我已經在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.
刪除表達式解決了我的問題.
標簽:http,java
來源: https://codeday.me/bug/20191108/2008728.html
總結
以上是生活随笔為你收集整理的java http 状态_Java HTTP连接似乎保持打开状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java catch 空指针异常_关于J
- 下一篇: mysql主键unsigned_mysq