Apache HttpClient - HTTP-запрос на отправку
Запрос POST используется для отправки данных на сервер; например, информация о клиенте, загрузка файлов и т. д. с использованием HTML-форм.
API HttpClient предоставляет класс с именем HttpPost который представляет собой запрос POST.
Следуйте инструкциям ниже, чтобы отправить HTTP-запрос POST с помощью библиотеки HttpClient.
Шаг 1. Создайте объект HttpClient
В createDefault() метод HttpClients class возвращает объект класса CloseableHttpClient, которая является базовой реализацией HttpClient интерфейс.
Используя этот метод, создайте объект HttpClient.
CloseableHttpClient httpClient = HttpClients.createDefault();
Шаг 2 - Создайте объект HttpPost
В HttpPost класс представляет HTTP POSTзапрос. Это отправляет необходимые данные и извлекает информацию о данном сервере с помощью URI.
Создайте этот запрос, создав экземпляр HttpPost class и передайте строковое значение, представляющее URI, в качестве параметра его конструктору.
HttpGet httpGet = new HttpGet("http://www.tutorialspoint.com/");
Шаг 3 - Выполните запрос на получение
В execute() Метод объекта CloseableHttpClient принимает объект HttpUriRequest (interface) (т.е. HttpGet, HttpPost, HttpPut, HttpHead и т. д.) и возвращает объект ответа.
HttpResponse httpResponse = httpclient.execute(httpget);
пример
Ниже приведен пример, демонстрирующий выполнение запроса HTTP POST с использованием библиотеки HttpClient.
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
public class HttpPostExample {
public static void main(String args[]) throws Exception{
//Creating a HttpClient object
CloseableHttpClient httpclient = HttpClients.createDefault();
//Creating a HttpGet object
HttpPost httppost = new HttpPost("https://www.tutorialspoint.com/");
//Printing the method used
System.out.println("Request Type: "+httppost.getMethod());
//Executing the Get request
HttpResponse httpresponse = httpclient.execute(httppost);
Scanner sc = new Scanner(httpresponse.getEntity().getContent());
//Printing the status line
System.out.println(httpresponse.getStatusLine());
while(sc.hasNext()) {
System.out.println(sc.nextLine());
}
}
}
Вывод
Вышеупомянутая программа генерирует следующий вывод.
Request Type: POST
<!DOCTYPE html>
<!--[if IE 8]><html class = "ie ie8"> <![endif]-->
<!--[if IE 9]><html class = "ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->
<html lang = "en-US"> <!--<![endif]-->
<head>
<!-- Basic -->
<meta charset = "utf-8">
<title>Parallax Scrolling, Java Cryptography, YAML, Python Data Science, Java
i18n, GitLab, TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible,
LOLCODE, Current Affairs 2018, Apache Commons Collections</title>
<meta name = "Description" content = "Parallax Scrolling, Java Cryptography, YAML,
Python Data Science, Java i18n, GitLab, TestRail, VersionOne, DBUtils, Common
CLI, Seaborn, Ansible, LOLCODE, Current Affairs 2018, Intellij Idea, Apache
Commons Collections, Java 9, GSON, TestLink, Inter Process Communication (IPC),
Logo, PySpark, Google Tag Manager, Free IFSC Code, SAP Workflow"/>
<meta name = "Keywords" content="Python Data Science, Java i18n, GitLab,
TestRail, VersionOne, DBUtils, Common CLI, Seaborn, Ansible, LOLCODE, Gson,
TestLink, Inter Process Communication (IPC), Logo"/>
<meta http-equiv = "X-UA-Compatible" content = "IE = edge">
<meta name = "viewport" conten t= "width = device-width,initial-scale = 1.0,userscalable = yes">
<link href = "https://cdn.muicss.com/mui-0.9.39/extra/mui-rem.min.css"
rel = "stylesheet" type = "text/css" />
<link rel = "stylesheet" href = "/questions/css/home.css?v = 3" />
<script src = "/questions/js/jquery.min.js"></script>
<script src = "/questions/js/fontawesome.js"></script>
<script src = "https://cdn.muicss.com/mui-0.9.39/js/mui.min.js"></script>
</head>
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
</script>
</body>
</html>