gpt4 book ai didi

java - HttpURLConnection 在传递相同参数时在 Android 5.1 和 4.4 上返回不同的结果

转载 作者:太空宇宙 更新时间:2023-11-04 12:19:52 32 4
gpt4 key购买 nike

public static String request(String httpUrl, String httpArg) {
BufferedReader reader = null;
String result = "";
StringBuffer sbf = new StringBuffer();
httpUrl = httpUrl + "?" + httpArg;
try {
URL url = new URL(httpUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("apikey", myAPpiKey);
conn.connect();
if (conn.getResponseCode() == 200) {
InputStream is = conn.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sbf.append(strRead);
sbf.append("\r\n");
}
reader.close();
result = sbf.toString();
}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}

上面的代码在 Android 5.1 和 Android 6.0 上运行良好,并且返回了我想要的正确结果。但是当我在 Android 4.4 上使用相同的参数运行它们时,它返回了不同的结果。我已经尝试了几次,并将调试器附加到进程中。我发现连接可以成功建立,并且ResponseCode也是200。我猜想 HttpURLConnection 参数一定有问题,导致服务器返回不同的结果。我设置的参数是否适用于 Android 5.1 和 6.0,但不适用于 4.4?谁能告诉我哪里做错了?

最佳答案

尝试下面的代码:

URL url = new URL(httpUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setChunkedStreamingMode(0);
conn.setDoInput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("apikey", myAPpiKey);
if (conn.getResponseCode() == 200) {
InputStream is = conn.getInputStream();
.........
}

这对我有用。希望它能起作用。

关于java - HttpURLConnection 在传递相同参数时在 Android 5.1 和 4.4 上返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949984/

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