Java Streams와 CompletableFuture API를 결합하여 많은 요청을 발행하고 응답을 기다리는 것은 쉽습니다. 다음 예제에서는 목록에 있는 각 URI에 대한 GET 요청을 보내고 모든 응답을 문자열로 저장합니다. 위의 예제에서는 응답 본문 바이트를 메모리에 누적하는 String을 사용합니다. 또는 ofInputStream과 같은 스트리밍 구독자를 사용할 수 있습니다. 다음은 이 첫 번째 예제 클래스의 소스 코드입니다. 나는 XML에 https URL을 전달하고 응답을 받아야합니다. 그러나 con.getResponseCode() 에서 다음과 같은 오류가 발생하도록 도와주면 java.net.net.SocketException: java.net.SocketInputStream.read.read(알 수 없는 출처)에서 연결 재설정(알 수 없음)을 com.sun.net.ssl.internal.inputRecord.readFully(알 수 없음). 출처) com.sun.net.ssl.ssl.inputRecord.read(알 수 없는 출처) com.sun.net.ssl.internal.ssl.ssl.ssl.internal.ssl.ssl.SSLSocketImpl.startHandshake(알 수 없는 출처) 에서 sun.net.https.https클라이언트.afterConnect(알 수 없는 출처) sun.net.www.protocol.httpsurlConnection.connect(알 수 없는 출처) 에서 sun.net.www.http.http.httpURLConnection.getinputStream(알 수 없는 출처) 에서 java.net.httpURLConnection.getResponseCode(알 수 없는 소스) sun.net.www.protocol.https.https.httpsurlConnectionImpl.getResponseCode (알 수 없는 출처) com.xml.TestURL.print_https_cert at com.xml.TestURL.testIt at com.xml.TestURL.main java.net.socketException: 연결 재설정 sun.reflect.NativeConstructorAccessorImpl.newInstance0(네이티브 메서드) 에서 sun.reflect.NativeConstructorImpl.newInstance.newInstance.delegating.Delegating.Delegating.AccessorImpl.newInstance(알 수 없는 소스) java.lang.reflect.constructor.newInstance(알 수 없는 출처) 에서 sun.net.www.httpURLConnection$6.run(알 수 없는 출처) 에서 java.security.AccessController.doPrivileged(네이티브 메서드) sun.net.www.protocol.http.http.httpURLConnection.getChainedException(알 수 없음 출처) 자세히 보기» 2012-07-31 10:32:27,901 [http-8080-15] 오류 pfaddonscat – MYDOCUMENTS: :인식되지 않는 SSL 메시지, 일반 텍스트 연결? 요청맵:{ui=xbrowser, 응용 프로그램=마이문서, FATAL_ERROR_THROWABLE=java.lang.reflect.InvocationTargetException, 파일 설명=테스트, 파일타이틀=테스트, SID=4C91AA8EB36CC2D02E0395BF234DF2D4, IID=-1, pf.mwpef.engine.ui. xbrowser, pf.mwpef.engine.uiStyle=html-v3.xsl, 카테고리=1, 애플리케이션 유형=MYDOCUMENTSE, 스타일=html, 키타입=ENTER, _USER_DIVISION_NAME=, FATAL_ERROR=COMMON_MWPEF0002} 스택트레이스: javax.net.ssl.SSL예외: 인식되지 않는 SSL 메시지, SSL 메시지 일반 텍스트 연결? 에서 com.sun.net.ssl.ssl.ssl.inputRecord.handleUnknownRecord(입력기록.자바:523) com.sun.net.sl.sl.355.read.com.sun.net.sl.internal.ssl.ssl.SSl.SSl.ssl.ssl.ssl.sl.ssl.ssl.sl.sl.ssl.ssl.sl.sl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.sl.ssl.ssl.ssl.sl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.com.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.com SSLSocketImpl.java:789) at com.sun.net.ssl.internal.ssl.ssl.ssl.internal.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.sl.ssl.sl.sl.sl.sl.sl.sl.ssl.ssl.sl.sl.sl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.ssl.sl.sl.sl.writeRecord(SSLSocketImpl.62)에서 초기 핸드셰이크(SSLSocketImpl.java:1112) com.sun.net.ssl.internal.ssl.ssl.appOutputStream.write(AppOutputStream.java:59) 에서 자바.io.버퍼링된 출력스트림.플러시 버퍼(버퍼링출력스트림.java:65) org.apache.commons.httpclient.method.EntityEnclosingMethod.writeRequestBody (EntityEnclosingMethod.java:506) at org.apache.commons.httpclient.httpclient.httpMethodBase.writeRequest (HttpMethodBase.java:2114) org.apache.commons.httpclient.httpMethodBase.execute(HttpMethodBase.java:1096) org.apache.commons.httpclient.httpMethod.httpMethod.httpMethod.java:171) 에서 org.apache.commons.httpclient.httpclient.httpclient.httpclient.httpclient.executeMethod(httpclient.commons.httpclient.executeMethod)에서 HttpClient.java:323) 에서 de.pepperlfuchs.modules.mydocuments.MYDOCUMENTSEWrapper.saveCurrentDetails (MYDOCUMENTSEWrapper.java:97) at de.pepperlfuchs.mwpef.modules.aiobjects.aiobjects.aiobjects.abstractModuleEWrapper.executeENTER () 추상모듈EWrapper.java:39) 에서 sun.reflect.NativeMethodAccessorImpl.invoke(네이티브메소르임프렐.39) de.pepperlfuchs.mwpef.modules.requestDispatcher.execute(요청디스패치터.java:83)에서 java.lang.reflect.Method.invoke(Method.java:597)에서 위임메서드액세스접근자Impl.java:25) de.pepperlfuchs.mwpef.engine.action.action.abstractAction.dispatchRequestToModule (추상적 행동.자바:209) 에서 de.pepperlfuchs.mwpef.engine.action.action.genericAction.handleModuleDispatch(제네릭액티