Классы
import org.apache.http.client.fluent.Content
org.apache.http.client.fluent.Request
org.apache.http.entity.ContentType
являются частью библиотеки Apache HttpComponents, которая предоставляет возможность для создания HTTP-клиентов и серверов в Java.
Класс Content представляет собой содержимое ответа от сервера, полученного после выполнения HTTP-запроса. Он имеет несколько методов для получения содержимого в различных форматах, таких как строка, массив байтов, поток ввода-вывода и т.д.
Пример использования класса Content:
import org.apache.http.client.fluent.Content;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
Content content = Request.Get("https://www.example.com")
.execute().returnContent();
String responseString = content.asString();
В этом примере мы отправляем GET-запрос на https://www.example.com и получаем содержимое ответа в виде строки с помощью метода asString().
Методы класса Content:
1. asString() - возвращает содержимое ответа в виде строки.
Пример использования:
Content content = Request.Get("https://www.example.com")
.execute().returnContent();
String responseString = content.asString();
2. asBytes() - возвращает содержимое ответа в виде массива байтов.
Пример использования:
Content content = Request.Get("https://www.example.com")
.execute().returnContent();
byte[] responseBytes = content.asBytes();
3. asStream() - возвращает содержимое ответа в виде потока ввода-вывода.
Пример использования:
Content content = Request.Get("https://www.example.com")
.execute().returnContent();
InputStream responseStream = content.asStream();
Класс Request используется для создания HTTP-запросов. Он имеет несколько методов для установки заголовков, параметров запроса и тела запроса.
Пример использования класса Request:
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
Request.Post("https://www.example.com")
.addHeader("Authorization", "Bearer token")
.bodyString("param1=value1¶m2=value2", ContentType.APPLICATION_FORM_URLENCODED)
.execute();
В этом примере мы отправляем POST-запрос на https://www.example.com с заголовком Authorization и телом запроса в формате application/x-www-form-urlencoded.
Класс ContentType представляет тип содержимого HTTP-запроса или ответа. Он имеет несколько статических методов для создания объектов ContentType для различных типов содержимого.
Пример использования класса ContentType:
import org.apache.http.entity.ContentType;
ContentType contentType = ContentType.APPLICATION_JSON;
В этом примере мы создаем объект ContentType для типа содержимого application/json.
Методы класса ContentType:
1. create(String mimeType) - создает объект ContentType для указанного MIME-типа.
Пример использования:
ContentType contentType = ContentType.create("application/json");
2. create(String mimeType, Charset charset) - создает объект ContentType для указанного MIME-типа и кодировки символов.
Пример использования:
ContentType contentType = ContentType.create("text/plain", Charset.forName("UTF-8"));
3. getMimeType() - возвращает MIME-тип объекта ContentType.
Пример использования:
ContentType contentType = ContentType.APPLICATION_JSON;
String mimeType = contentType.getMimeType(); // "application/json"
Примеры создания объектов ContentType:
1. Для JSON-содержимого:
ContentType contentType = ContentType.create("application/json");
2. Для XML-содержимого с кодировкой UTF-8:
ContentType contentType = ContentType.create("application/xml", Charset.forName("UTF-8"));
3. Для текстового содержимого с кодировкой windows-1251:
ContentType contentType = ContentType.create("text/plain", Charset.forName("windows-1251"));