Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Я вообще-то забыл об этом. Эй, я так стар и устал. . .
Например: Ниже приведен полный исходный метод сетевого запроса.
HttpURLConnection conn = null;
try {
URL my_url = new URL(log());
//Получаем объект подключения.
conn = (HttpURLConnection) my_url.openConnection();
//Разрешаем запись
conn.setDoOutput(true);
//Разрешаем чтение
conn.setDoInput(true);
//Устанавливаем метод запроса
conn.setRequestMethod("POST");
conn.setUseCaches(false);
conn.setConnectTimeout(60 * 1000);
conn.setReadTimeout(60 * 1000);
//Устанавливаем заголовок запроса
conn.setRequestProperty("Charsert", "UTF-8");
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");//Установим тип параметра в формате json
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("logType", "base");
//Подключаемся к сети. Строка запроса, настройки заголовка запроса должны быть размещены перед сетевым подключением.
conn.connect();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream(), "UTF-8"));
writer.write(String.valueOf(hashMap));
writer.close();
//Получаем код ответа
int responseCode = conn.getResponseCode();
MyLogcat.e("Передача по сети" + responseCode + "***" + conn.getResponseMessage() + String.valueOf(hashMap));
if (responseCode == 200) {
//Получаем поток ответа
InputStream inputStream = conn.getInputStream();
//Преобразуем поток ответа в строку
String returnLine = getStringFromInputStream(inputStream);
String str = "Success" + conn.getResponseCode() + "---" + conn.getResponseMessage() + "---" + returnLine;
} else {
String str = "Error" + conn.getResponseCode() + "---" + conn.getResponseMessage();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (conn != null) {
conn.disconnect();
}
}
/**
* Возвращает строковое сообщение через поток ввода байтов.
*/
private static String getStringFromInputStream(InputStream is) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = is.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
is.close();
// Преобразуйте данные в потоке в строку, Используемая кодировка: utf-8
String status = baos.toString();
baos.close();
return status;
}
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/195122.html Исходная ссылка: https://javaforall.cn