gpt4 book ai didi

java - HttpsURLConnection 不适用于 Android API 19(但适用于 API 22 至 29)

转载 作者:行者123 更新时间:2023-12-02 00:59:49 25 4
gpt4 key购买 nike

所以我在这里迷路了。我进行 HttpsURLConnection 调用,它在 API 22(模拟器和实际设备)、API 23(设备)和 API 29(模拟器)上运行良好。但它在 API 19 上不起作用(在实际设备和模拟器上都尝试过)。

public class HttpsCall extends AsyncTask<String, Void, String> {

@Override
protected String doInBackground(String... urlString){

HttpsURLConnection urlConnection = null;
BufferedReader reader = null;

try {
URL url = new URL(urlString[0]);
urlConnection = (HttpsURLConnection) url.openConnection();
urlConnection.setReadTimeout(8000);
urlConnection.setConnectTimeout(8000);
urlConnection.setRequestMethod("GET");
urlConnection.connect();

InputStream inputStream = urlConnection.getInputStream();
StringBuilder buffer = new StringBuilder();
if (inputStream == null) return null;
reader = new BufferedReader(new InputStreamReader(inputStream));

String line;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
if (buffer.length() == 0) return null;
return buffer.toString();

} catch (Exception e) {
return null;
} finally{
if (urlConnection != null) urlConnection.disconnect();
if (reader != null) {
try { reader.close(); }
catch (final IOException e) { e.printStackTrace(); }
}
}
}
}

minSdkVersion 为 19,Manifest 中的权限似乎按顺序排列:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我没有收到任何错误,只有一个空响应。尝试使用 https://api.github.com/users/mralexgray/repos 时,我在控制台中得到以下内容:

09-03 17:12:44.533 I/QCNEA   : |NIMS|: getaddrinfo: hostname api.github.com servname NULL numeric 4 appname /system/bin/app_process
09-03 17:12:44.533 I/QCNEA   : |NIMS|: getaddrinfo: hostname api.github.com servname NULL numeric 0 appname /system/bin/app_process

我在使用设备时收到上述消息,但在使用模拟器时没有收到任何消息。

如有任何帮助,我们将不胜感激。

最佳答案

正如 David 所指出的,问题在于 API 19 默认禁用 TLS 1.2。解决方法如下:https://gist.github.com/Kane-Shih/2a556fd24604ed9e80d69581c4f912a3

关于java - HttpsURLConnection 不适用于 Android API 19(但适用于 API 22 至 29),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57778988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com