Apache HttpClient - Http Gönderi İsteği

Sunucuya veri göndermek için bir POST isteği kullanılır; örneğin müşteri bilgileri, dosya yükleme, vb. HTML formları kullanılarak.

HttpClient API, HttpPost POST isteğini temsil eder.

HttpClient kitaplığını kullanarak bir HTTP POST isteği göndermek için aşağıda verilen adımları izleyin.

Adım 1 - HttpClient Nesnesi Oluşturun

createDefault() yöntemi HttpClients sınıf, sınıfın bir nesnesini döndürür CloseableHttpClient, temel uygulaması olan HttpClient arayüz.

Bu yöntemi kullanarak bir HttpClient nesnesi oluşturun.

CloseableHttpClient httpClient = HttpClients.createDefault();

Adım 2 - HttpPost Nesnesi Oluşturun

HttpPost sınıf temsil eder HTTP POSTistek. Bu, gerekli verileri gönderir ve verilen sunucunun bilgilerini bir URI kullanarak alır.

Örneğini oluşturarak bu isteği oluşturun HttpPost sınıf ve URI'yi temsil eden bir dize değerini, yapıcısına bir parametre olarak iletir.

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

Adım 3 - Alma İsteğini Uygulayın

execute() CloseableHttpClient nesnesinin yöntemi bir HttpUriRequest (arabirim) nesnesini (yani, HttpGet, HttpPost, HttpPut, HttpHead vb.) kabul eder ve bir yanıt nesnesi döndürür.

HttpResponse httpResponse = httpclient.execute(httpget);

Misal

Aşağıda, HTTP POST isteğinin HttpClient kitaplığı kullanılarak yürütülmesini gösteren bir örnek verilmiştir.

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());
      }
   }
}

Çıktı

Yukarıdaki program aşağıdaki çıktıyı üretir.

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>