Apache HttpClient - Http Nhận Yêu cầu
Phương thức GET được sử dụng để truy xuất thông tin từ máy chủ đã cho bằng cách sử dụng một URI nhất định. Các yêu cầu sử dụng GET chỉ nên truy xuất dữ liệu và không có ảnh hưởng nào khác đến dữ liệu.
API HttpClient cung cấp một lớp có tên HttpGet đại diện cho phương thức nhận yêu cầu.
Làm theo các bước dưới đây để gửi yêu cầu bằng thư viện HttpClient
Bước 1 - Tạo đối tượng HttpClient
Các createDefault() phương pháp của HttpClients lớp trả về một CloseableHttpClient đối tượng, là triển khai cơ bản của HttpClient giao diện.
Sử dụng phương pháp này, tạo một đối tượng HttpClient như hình dưới đây:
CloseableHttpClient httpclient = HttpClients.createDefault();
Bước 2 - Tạo một đối tượng HttpGet
Các HttpGet lớp đại diện cho yêu cầu HTTPGET lấy thông tin của máy chủ đã cho bằng cách sử dụng URI.
Tạo một yêu cầu HTTP GET bằng cách khởi tạo lớp này. Hàm tạo của lớp này chấp nhận một giá trị Chuỗi đại diện cho URI.
HttpGet httpget = new HttpGet("http://www.tutorialspoint.com/");
Bước 3 - Thực hiện Yêu cầu Nhận
Các execute() phương pháp của CloseableHttpClient lớp chấp nhận một đối tượng HttpUriRequest (giao diện) (tức là HttpGet, HttpPost, HttpPut, HttpHead, v.v.) và trả về một đối tượng phản hồi.
Thực hiện yêu cầu bằng cách sử dụng phương pháp này như hình dưới đây -
HttpResponse httpresponse = httpclient.execute(httpget);
Thí dụ
Dưới đây là một ví dụ minh họa việc thực thi yêu cầu HTTP GET bằng thư viện 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());
}
}
}
Đầu ra
Chương trình trên tạo ra kết quả sau:
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>