Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试从httpurlconnection获取响应代码时工作程序出错_Java_Android_Android Workmanager - Fatal编程技术网

Java 尝试从httpurlconnection获取响应代码时工作程序出错

Java 尝试从httpurlconnection获取响应代码时工作程序出错,java,android,android-workmanager,Java,Android,Android Workmanager,我试图从工作线程内的链接获取输入流,但是它会给我ssl错误。链接不是问题所在,我已在清单中允许使用internet权限。下面是我的代码片段 WorkManager workManager = WorkManager.getInstance(context); ArrayList<OneTimeWorkRequest> oneTimeWorkRequests = new ArrayList<>(); for(int i = 0; i <

我试图从工作线程内的链接获取输入流,但是它会给我ssl错误。链接不是问题所在,我已在清单中允许使用internet权限。下面是我的代码片段

WorkManager workManager = WorkManager.getInstance(context);
        ArrayList<OneTimeWorkRequest> oneTimeWorkRequests = new ArrayList<>();

        for(int i = 0; i < mPodcastSources.size(); i++) {

            Data.Builder dataBuilder = new Data.Builder().putString(WORKER_PODCAST_WORKER_KEY, mPodcastSources.get(i));

            OneTimeWorkRequest oneTimeWorkRequest = new OneTimeWorkRequest.Builder(PodcastUpdateWorker.class)
                    .setBackoffCriteria(BackoffPolicy.LINEAR, 10, TimeUnit.SECONDS)
                    .setInputData(dataBuilder.build())
                    .addTag(ONE_TIME_WORK_REQUEST_KEY)
                    .build();

            oneTimeWorkRequests.add(oneTimeWorkRequest);

        }
        workManager.enqueue(oneTimeWorkRequests);

请注意,我使用的是一个工作请求列表,我相信它会一个接一个地启动。

注意:进一步测试后,这只会在android emulator上发生
String podcastFeed = getInputData().getString(WORKER_PODCAST_WORKER_KEY);
        ArrayList<Podcast> mPodcasts = new ArrayList<>();
        Log.d("rial-links", podcastFeed);
        try {
            URL url = new URL(podcastFeed);

            URLConnection urlConnection = url.openConnection();
            HttpURLConnection httpURLConnection = (HttpURLConnection) urlConnection;
            if (httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK) { //here
                InputStream in = httpURLConnection.getInputStream();
10-17 13:58:36.262 4581-4605/com.example.corbettreportpodcasts W/System.err: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb8adeb40: Failure in SSL library, usually a protocol error
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d93b990:0x00000000)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:448)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.Connection.connect(Connection.java:107)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:136)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.example.simplepodasts.PodcastUpdateWorker.doWork(PodcastUpdateWorker.java:86)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at androidx.work.Worker$1.run(Worker.java:85)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at java.lang.Thread.run(Thread.java:841)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err: Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb8adeb40: Failure in SSL library, usually a protocol error
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x8d93b990:0x00000000)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)
10-17 13:58:36.272 4581-4605/com.example.corbettreportpodcasts W/System.err:    ... 14 more
10-17 13:58:36.282 4581-4601/com.example.corbettreportpodcasts I/WM-WorkerWrapper: Worker result RETRY for Work [ id=014602b6-ba91-4e00-abb2-978859679834, tags={ ONE_TIME_WORK_REQUEST_PODCAST, com.example.simplepodasts.PodcastUpdateWorker } ]