Apache HttpClient - żądanie wysłania HTTP
Żądanie POST służy do wysyłania danych do serwera; na przykład informacje o klientach, przesyłanie plików itp. za pomocą formularzy HTML.
Interfejs API HttpClient udostępnia klasę o nazwie HttpPost który reprezentuje żądanie POST.
Wykonaj kroki podane poniżej, aby wysłać żądanie HTTP POST przy użyciu biblioteki HttpClient.
Krok 1 - Utwórz obiekt HttpClient
Plik createDefault() metoda HttpClients class zwraca obiekt klasy CloseableHttpClient, który jest podstawową implementacją HttpClient berło.
Korzystając z tej metody, utwórz obiekt HttpClient.
CloseableHttpClient httpClient = HttpClients.createDefault();
Krok 2 - Utwórz obiekt HttpPost
Plik HttpPost klasa reprezentuje HTTP POSTżądanie. To wysyła wymagane dane i pobiera informacje z danego serwera za pomocą URI.
Utwórz to żądanie, tworząc wystąpienie HttpPost class i przekaż wartość ciągu reprezentującą identyfikator URI jako parametr do jego konstruktora.
HttpGet httpGet = new HttpGet("http://www.tutorialspoint.com/");
Krok 3 - Wykonaj żądanie Get
Plik execute() Metoda obiektu CloseableHttpClient akceptuje obiekt HttpUriRequest (interfejs) (tj. HttpGet, HttpPost, HttpPut, HttpHead itp.) i zwraca obiekt odpowiedzi.
HttpResponse httpResponse = httpclient.execute(httpget);
Przykład
Poniżej znajduje się przykład, który demonstruje wykonanie żądania HTTP POST przy użyciu biblioteki 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());
}
}
}
Wynik
Powyższy program generuje następujące dane wyjściowe.
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>