javax.net.ssl.SSLException: Ошибка чтения: ssl = 0x56e63588: ошибка ввода-вывода во время системного вызова, сброс соединения по пиру
Я использовал с помощьюorg.apache.http.client.HttpClient
загрузить некоторые данные с HTTP-сервера за последние 2 года, и он работает нормально.
Недавно мы перешли на HTTPS по некоторым причинам безопасности. Это также нормально работает с Wi-Fi и высокоскоростной мобильной передачей данных (3G). Но чаще всего с медленным подключением к данным (2G) Моя загрузка прерывается с последующей трассировкой стека.
javax.net.ssl.SSLException: Read error: ssl=0x56e63588: I/O error during system call, Connection reset by peer
at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:690)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
at org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:120)
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:131)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:140)
at java.io.FilterInputStream.read(FilterInputStream.java:114)
Вот как выглядит мой код:
HttpPost httpPost = new HttpPost(url);
UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(
params, HTTP.UTF_8);
httpPost.setEntity(p_entity);
response = httpClient.execute(httpPost);
DataInputStream in = new DataInputStream(response.getEntity().getContent());
String st = "";
result = new Vector<String>();
while ((st = readLine(in)) != null) {
result.addElement(st);
}