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>