Contoh HttpClient Sinkron Java14 – Gambaran Umum dan Tutorial Sederhana – send()
Diterbitkan: 2020-09-06 Java baru-baru ini merilis Java 14
JDK. Dalam tutorial ini kita akan membahas Ikhtisar dan Tutorial Klien HttpClient Sinkronisasi Java Sederhana.
Jika Anda memiliki pertanyaan di bawah ini maka Anda berada di tempat yang tepat.
- Bagaimana Anda membuat permintaan HTTP asinkron di JAVA
- Mengapa menggunakan HttpClient untuk Koneksi Sinkron
- Pengantar kecil untuk HttpClient Java 11
- Tutorial Java 11 HTTP/2 API
- Pengantar OpenJDK Klien HTTP Java
- Klien HTTP Java – Contoh dan Resep
Sebuah HttpClient
dapat digunakan untuk mengirim permintaan dan mengambil tanggapan mereka. HttpClient dibuat melalui pembangun.
Mari kita mulai:
Buat file CrunchifyJavaSynchronousHTTPClient.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
package crunchify . com . tutorial ; import java . io . IOException ; import java . net . URI ; import java . net . http . HttpClient ; import java . net . http . HttpHeaders ; import java . net . http . HttpRequest ; import java . net . http . HttpResponse ; import java . time . Duration ; /** * @author Crunchify.com * Overview and Simple Java Synchronous HttpClient Client Tutorial */ public class CrunchifyJavaSynchronousHTTPClient { private static final HttpClient crunchifyHttpClient = HttpClient . newBuilder ( ) . version ( HttpClient . Version . HTTP_1_1 ) . connectTimeout ( Duration . ofSeconds ( 5 ) ) . build ( ) ; // HttpClient: An HttpClient can be used to send requests and retrieve their responses. An HttpClient is created through a builder. // Duration: A time-based amount of time, such as '5 seconds'. // send() This class models a quantity or amount of time in terms of seconds and nanoseconds. It can be accessed using other duration-based units, such as minutes and hours. // In addition, the DAYS unit can be used and is treated as exactly equal to 24 hours, thus ignoring daylight savings effects. See Period for the date-based equivalent to this class. public static void main ( String [ ] args ) { HttpRequest crunchifyRequest = HttpRequest . newBuilder ( ) . GET ( ) . uri ( URI . create ( "https://crunchify.com/wp-content/java/crunchify-java-httpclient-tutorial.html" ) ) . setHeader ( "User-Agent" , "Crunchify Java Synchronous HTTPClient Example..." ) . build ( ) ; // HttpResponse: An HttpResponse is not created directly, but rather returned as a result of sending an HttpRequest. HttpResponse < String > crunchifyResponse = null ; try { // CompletableFuture: A Future that may be explicitly completed (setting its value and status), and may be used as a CompletionStage, supporting dependent functions and actions that trigger upon its completion. // send: Sends the given request using this client, blocking if necessary to get the response. // The returned HttpResponse<T> contains the response status, headers, and body ( as handled by given response body handler ). crunchifyResponse = crunchifyHttpClient . send ( crunchifyRequest , HttpResponse . BodyHandlers . ofString ( ) ) ; // print response headers HttpHeaders crunchifyHeaders = crunchifyResponse . headers ( ) ; crunchifyHeaders . map ( ) . forEach ( ( k , v ) - > System . out . println ( k + ":" + v ) ) ; // print status code crunnchifyPrint ( crunchifyResponse . statusCode ( ) ) ; // print response body crunnchifyPrint ( crunchifyResponse . body ( ) ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } private static void crunnchifyPrint ( Object data ) { System . out . println ( data ) ; } } |
crunchifyHttpClient.send()
java API mengirimkan permintaan yang diberikan menggunakan klien ini, memblokir jika perlu untuk mendapatkan respons.

HttpResponse<T>
yang dikembalikan berisi status respons, header, dan isi (seperti yang ditangani oleh penangan badan respons yang diberikan).
Jalankan saja kode di atas sebagai program Java dan Anda akan melihat respons seperti di bawah ini.
Hasil Konsol:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/ Library / Java / JavaVirtualMachines / jdk - 14.0.2.jdk / Contents / Home / bin / java - javaagent : / Applications / IntelliJ IDEA . app crunchify . com . tutorial . CrunchifyJavaSynchronousHTTPClient accept - ranges : [ bytes ] connection : [ keep - alive ] content - length : [ 108 ] content - type : [ text / html ; charset = UTF - 8 ] date : [ Sun , 06 Sep 2020 02 : 02 : 58 GMT ] etag : [ "5f5442af-6c" ] last - modified : [ Sun , 06 Sep 2020 02 : 00 : 15 GMT ] server : [ nginx ] x - edge - location - klb : [ VhPBsSUriL2dZtW2Pu8FgAke45e082923ff37191eace6947ec35b35d ] 200 < ! DOCTYPE html > < html > < body > < h1 > Hey . . This is Crunchify ' s Java HTTPClient Tutorial . < / h1 > < / body > < / html > Process finished with exit code 0 |
Tolong beri tahu saya jika Anda menghadapi masalah saat menjalankan kode Java di atas.
Apa berikutnya?
Ikhtisar dan Tutorial HttpClient Asynchronous Java – sendAsync()