Apache HttpClient - รับคำขอ Http

เมธอด GET ใช้เพื่อดึงข้อมูลจากเซิร์ฟเวอร์ที่กำหนดโดยใช้ URI ที่กำหนด คำขอโดยใช้ GET ควรดึงข้อมูลเท่านั้นและไม่ควรมีผลกระทบอื่นใดกับข้อมูล

HttpClient API จัดเตรียมคลาสที่มีชื่อว่า HttpGet ซึ่งแสดงถึงวิธีรับคำขอ

ทำตามขั้นตอนด้านล่างเพื่อส่งคำขอรับโดยใช้ไลบรารี HttpClient

ขั้นตอนที่ 1 - สร้างวัตถุ HttpClient

createDefault() วิธีการของ HttpClients คลาสส่งคืน a CloseableHttpClient ซึ่งเป็นการใช้งานพื้นฐานของไฟล์ HttpClient อินเตอร์เฟซ.

ใช้วิธีนี้สร้างวัตถุ HttpClient ดังที่แสดงด้านล่าง -

CloseableHttpClient httpclient = HttpClients.createDefault();

ขั้นตอนที่ 2 - สร้างวัตถุ HttpGet

HttpGet คลาสแทนคำขอ HTTPGET ซึ่งดึงข้อมูลของเซิร์ฟเวอร์ที่กำหนดโดยใช้ URI

สร้างคำร้องขอ HTTP GET โดยสร้างอินสแตนซ์คลาสนี้ คอนสตรัคเตอร์ของคลาสนี้ยอมรับค่าสตริงที่แสดงถึง URI

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

ขั้นตอนที่ 3 - ดำเนินการรับคำขอ

execute() วิธีการของ CloseableHttpClient คลาสยอมรับอ็อบเจ็กต์ HttpUriRequest (อินเตอร์เฟส) (เช่น HttpGet, HttpPost, HttpPut, HttpHead เป็นต้น) และส่งคืนอ็อบเจ็กต์ตอบกลับ

ดำเนินการตามคำขอโดยใช้วิธีนี้ดังที่แสดงด้านล่าง -

HttpResponse httpresponse = httpclient.execute(httpget);

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างที่แสดงให้เห็นถึงการดำเนินการตามคำขอ HTTP GET โดยใช้ไลบรารี HttpClient

import java.util.Scanner;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class HttpGetExample {
 
   public static void main(String args[]) throws Exception{
 
      //Creating a HttpClient object
      CloseableHttpClient httpclient = HttpClients.createDefault();

      //Creating a HttpGet object
      HttpGet httpget = new HttpGet("https://www.tutorialspoint.com/ ");

      //Printing the method used
      System.out.println("Request Type: "+httpget.getMethod());

      //Executing the Get request
      HttpResponse httpresponse = httpclient.execute(httpget);

      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: GET
<!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" content = "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>