Apache HttpClient - Permintaan Posting Http

Permintaan POST digunakan untuk mengirim data ke server; misalnya, informasi pelanggan, unggahan file, dll., menggunakan formulir HTML.

API HttpClient menyediakan kelas bernama HttpPost yang mewakili permintaan POST.

Ikuti langkah-langkah yang diberikan di bawah ini untuk mengirim permintaan HTTP POST menggunakan pustaka HttpClient.

Langkah 1 - Buat Objek HttpClient

Itu createDefault() metode dari HttpClients kelas mengembalikan objek kelas CloseableHttpClient, yang merupakan implementasi dasar dari HttpClient antarmuka.

Menggunakan metode ini, buat objek HttpClient.

CloseableHttpClient httpClient = HttpClients.createDefault();

Langkah 2 - Buat Objek HttpPost

Itu HttpPost kelas mewakili HTTP POSTpermintaan. Ini mengirimkan data yang diperlukan dan mengambil informasi dari server yang diberikan menggunakan URI.

Buat permintaan ini dengan membuat instance HttpPost kelas dan meneruskan nilai string yang mewakili URI, sebagai parameter ke konstruktornya.

HttpGet httpGet = new HttpGet("http://www.tutorialspoint.com/");

Langkah 3 - Jalankan Permintaan Dapatkan

Itu execute() metode objek CloseableHttpClient menerima objek HttpUriRequest (antarmuka) (yaitu HttpGet, HttpPost, HttpPut, HttpHead dll.) dan mengembalikan objek respons.

HttpResponse httpResponse = httpclient.execute(httpget);

Contoh

Berikut adalah contoh yang menunjukkan eksekusi permintaan HTTP POST menggunakan pustaka 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());
      }
   }
}

Keluaran

Program di atas menghasilkan keluaran sebagai berikut.

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>