Java 11

Java 11 – Standard HttpClient

An enhanced HttpClient API was introduced in Java 9 as an experimental feature. With Java 11, now HttpClient is a standard. It is recommended to use instead of other HTTP Client APIs like Apache Http Client API. It is quite feature rich and now Java based applications can make HTTP requests without using any external dependency.

Steps

Following are the steps to use an HttpClient.

  1. Create HttpClient instance using HttpClient.newBuilder() instance
  2. Create HttpRequest instance using HttpRequest.newBuilder() instance
  3. Make a request using httpClient.send() and get a response object.

HttpApiRequest.java

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public class Java11HttpRequest {

	public static void main(String[] args) throws IOException, InterruptedException {
		   // 1. Create HttpClient object
	       HttpClient httpClient = HttpClient.newBuilder()
	         .version(HttpClient.Version.HTTP_2)
	         .connectTimeout(Duration.ofSeconds(10))
	         .build(); 
	      
	      // 2. Create HttpRequest object
          HttpRequest request = HttpRequest.newBuilder()
            .GET()
            .uri(URI.create("https://www.google.com"))
            .build();     
         
          // 3. Get HttpResponse
          HttpResponse<String> response = httpClient.send(request,
          HttpResponse.BodyHandlers.ofString()); 

          // 4. Print http response
          System.out.println("Content Type: " + response.headers().allValues("content-type"));
	      System.out.println("Status code: " + response.statusCode());                            
	      System.out.println("Body: " + response.body());
	}

}

Output:

Content Type: [text/html; charset=ISO-8859-1]
Status code: 200
Body: <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en-IN"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image"><title>Google</title><script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){window.google={kEI:'zBJOY_PWC9KI8gKJ76qAAw',kEXPI:'0,1302536,56873,6059,206,4804,2316,383,246,5,5367,1123753,1197793,380698,16114,28684,22430,1362,12313,17586,4998,13228,3847,10622,22741,5081,1593,1279,2742,149,1103,842,2194,4101,3514,606,2023,1777,520,14670,3227,2845,7,33770,1851,2614,13142,3,346,230,1014,1,5444,149,11323,2652,4,1528,2304,7039,22023,5708,7356,13659,4437,16786,5821,2536,4094,17,4035,3,3541,1,42154,2,14022,2715,11401,11623,5679,1020,2380,26571,2171,4569,6258,23418,1246,5841,14967,4333,8,7476,445,2,2,1,6960,16867,10960,7381,2,1399,14569,873,19633,8,1921,5784,3995,12415,6715,12192,4832,7934,3708,5374,122,700,4,1,2,2,2,2,8226,426,5265,785,1627,1204,1517,9739,14,82,950,1758,1182,482,274,196,1869,6536,86,933,14,37,2133,552,922,1936,818,1150,507,275,2824,217,743,498,21,3,86,456,1039,86,1539,1140,1108,333,3928,83,859,242,17,441,847,2,43,1,384,192,262,983,241,940,10,1189,107,979,86,1490,77,265,162,720,10,280,1066,58,1226,528,29,98,235,226,4,170,379,396,118,84,786,7,537,934,526,40,2,48,172,36,143,477,187,252,88,436,3,18,247,337,34,2,4,2,107,1137,111,186,271,27,3,379,17,503,821,121,136,789,1969,243,1,3,5319440,4000,5995358,475,41,2803376,3311,141,795,19735,1,1,346,1754,59,22,4,2,4,3,2,113,226,1,7451435,16496860,471,16,2772407,1269248,5058,13578,3406,11319,1197,498311,985487',kBL:'lHUN'};google.sn='webhp';google.kHL='en-IN';})();(function(){
var f=this||self;var h,k=[];function l(a){for(var b;a&&(!a.getAttribute||!(b=a.getAttribute("eid")));)a=a.parentNode;return b||h}function m(a){for(var b=null;a&&(!a.getAttribute||!(b=a.getAttribute("leid")));)a=a.parentNode;return b}
function n(a,b,c,d,g){var e="";c||-1!==b.search("&ei=")||(e="&ei="+l(d),-1===b.search("&lei=")&&(d=m(d))&&(e+="&lei="+d));d="";!c&&f._cshid&&-1===b.search("&cshid=")&&"slh"!==a&&(d="&cshid="+f._cshid);c=c||"/"+(g||"gen_204")+"?atyp=i&ct="+a+"&cad="+b+e+"&zx="+Date.now()+d;/^http:/i.test(c)&&"https:"===window.location.protocol&&(google.ml&&google.ml(Error("a"),!1,{src:c,glmm:1}),c="");return c};h=google.kEI;google.getEI=l;google.getLEI=m;google.ml=function(){return null};google.log=function(a,b,c,d,g){if(c=n(a,b,c,d,g)){a=new Image;var e=k.length;k[e]=a;a.onerror=a.onload=a.onabort=function(){delete k[e]};a.src=c}};google.logUrl=n;}).call(this);(function(){
google.y={};google.sy=[];google.x=function(a,b){if(a)var c=a.id;else{do c=Math.random();while(google.y[c])}google.y[c]=[a,b];return!1};google.sx=function(a){google.sy.push(a)};google.lm=[];google.plm=function(a){google.lm.push.apply(google.lm,a)};google.lq=[];google.load=function(a,b,c){google.lq.push([[a],b,c])};google.loadAll=function(a,b){google.lq.push([a,b])};google.bx=!1;google.lx=function(){};}).call(this);google.f={};(function(){
document.documentElement.addEventListener("submit",function(b){var a;if(a=b.target){var c=a.getAttribute("data-submitfalse");a="1"===c||"q"===c&&!a.elements.q.value?!0:!1}else a=!1;a&&(b.preventDefault(),b.stopPropagation())},!0);document.documentElement.addEventListener("click",function(b){var a;a:{for(a=b.target;a&&a!==document.documentElement;a=a.parentElement)if("A"===a.tagName){a="1"===a.getAttribute("data-nohref");break a}a=!1}a&&b.preventDefault()},!0);}).call(this);</script><style>#gbar,#guser{font-size:13px;padding-top:1px !important;}#gbar{height:22px}#guser{padding-bottom:7px !important;text-align:right}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}@media all{.gb1{height:22px;margin-right:.5em;vertical-align:top}#gbar{float:left}}a.gb1,a.gb4{text-decoration:underline !important}a.gb1,a.gb4{color:#00c !important}.gbi .gb4{color:#dd8e27 !important}.gbf .gb4{color:#900 !important}
</style><style>body,td,a,p,.h{font-family:arial,sans-serif}body{margin:0;overflow-y:scroll}#gog{padding:3px 8px 0}td{line-height:.8em}.gac_m td{line-height:17px}form{margin-bottom:20px}.h{color:#1558d6}em{font-weight:bold;font-style:normal}.lst{height:25px;width:496px}.gsfi,.lst{font:18px arial,sans-serif}.gsfs{font:17px arial,sans-serif}.ds{display:inline-box;display:inline-block;margin:3px 0 4px;margin-left:4px}input{font-family:inherit}body{background:#fff;color:#000}a{color:#4b11a8;text-decoration:none}a:hover,a:active{text-decoration:underline}.fl a{color:#1558d6}a:visited{color:#4b11a8}.sblc{padding-top:5px}.sblc a{display:block;margin:2px 0;margin-left:13px;font-size:11px}.lsbb{background:#f8f9fa;border:solid 1px;border-color:#dadce0 #70757a #70757a #dadce0;height:30px}.lsbb{display:block}#WqQANb a{display:inline-block;margin:0 12px}.lsb{background:url(/images/nav_logo229.png) 0 -261px repeat-x;border:none;color:#000;cursor:pointer;height:30px;margin:0;outline:0;font:15px arial,sans-serif;vertical-align:top}.lsb:active{background:#dadce0}.lst:focus{outline:none}</style><script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){window.google.erd={jsr:1,bv:1670,de:true};
var h=this||self;var k,l=null!=(k=h.mei)?k:1,n,p=null!=(n=h.sdo)?n:!0,q=0,r,t=google.erd,v=t.jsr;google.ml=function(a,b,d,m,e){e=void 0===e?2:e;b&&(r=a&&a.message);if(google.dl)return google.dl(a,e,d),null;if(0>v){window.console&&console.error(a,d);if(-2===v)throw a;b=!1}else b=!a||!a.message||"Error loading script"===a.message||q>=l&&!m?!1:!0;if(!b)return null;q++;d=d||{};b=encodeURIComponent;var c="/gen_204?atyp=i&ei="+b(google.kEI);google.kEXPI&&(c+="&jexpid="+b(google.kEXPI));c+="&srcpg="+b(google.sn)+"&jsr="+b(t.jsr)+"&bver="+b(t.bv);var f=a.lineNumber;void 0!==f&&(c+="&line="+f);var g=
a.fileName;g&&(0<g.indexOf("-extension:/")&&(e=3),c+="&script="+b(g),f&&g===window.location.href&&(f=document.documentElement.outerHTML.split("\n")[f],c+="&cad="+b(f?f.substring(0,300):"No script found.")));c+="&jsel="+e;for(var u in d)c+="&",c+=b(u),c+="=",c+=b(d[u]);c=c+"&emsg="+b(a.name+": "+a.message);c=c+"&jsst="+b(a.stack||"N/A");12288<=c.length&&(c=c.substr(0,12288));a=c;m||google.log(0,"",a);return a};window.onerror=function(a,b,d,m,e){r!==a&&(a=e instanceof Error?e:Error(a),void 0===d||"lineNumber"in a||(a.lineNumber=d),void 0===b||"fileName"in a||(a.fileName=b),google.ml(a,!1,void 0,!1,"SyntaxError"===a.name||"SyntaxError"===a.message.substring(0,11)||-1!==a.message.indexOf("Script error")?3:0));r=null;p&&q>=l&&(window.onerror=null)};})();</script></head><body bgcolor="#fff"><script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){var src='/images/nav_logo229.png';var iesg=false;document.body.onload = function(){window.n && window.n();if (document.images){new Image().src=src;}
if (!iesg){document.f&&document.f.q.focus();document.gbqf&&document.gbqf.q.focus();}
}
})();</script><div id="mngb"><div id=gbar><nobr><b class=gb1>Search</b> <a class=gb1 href="https://www.google.co.in/imghp?hl=en&tab=wi">Images</a> <a class=gb1 href="https://maps.google.co.in/maps?hl=en&tab=wl">Maps</a> <a class=gb1 href="https://play.google.com/?hl=en&tab=w8">Play</a> <a class=gb1 href="https://www.youtube.com/?tab=w1">YouTube</a> <a class=gb1 href="https://news.google.com/?tab=wn">News</a> <a class=gb1 href="https://mail.google.com/mail/?tab=wm">Gmail</a> <a class=gb1 href="https://drive.google.com/?tab=wo">Drive</a> <a class=gb1 style="text-decoration:none" href="https://www.google.co.in/intl/en/about/products?tab=wh"><u>More</u> &raquo;</a></nobr></div><div id=guser width=100%><nobr><span id=gbn class=gbi></span><span id=gbf class=gbf></span><span id=gbe></span><a href="http://www.google.co.in/history/optout?hl=en" class=gb4>Web History</a> | <a  href="/preferences?hl=en" class=gb4>Settings</a> | <a target=_top id=gb_70 href="https://accounts.google.com/ServiceLogin?hl=en&passive=true&continue=https://www.google.com/&ec=GAZAAQ" class=gb4>Sign in</a></nobr></div><div class=gbh style=left:0></div><div class=gbh style=right:0></div></div><center><br clear="all" id="lgpd"><div id="lga"><img alt="Google" height="92" src="/images/branding/googlelogo/1x/googlelogo_white_background_color_272x92dp.png" style="padding:28px 0 14px" width="272" id="hplogo"><br><br></div><form action="/search" name="f"><table cellpadding="0" cellspacing="0"><tr valign="top"><td width="25%">&nbsp;</td><td align="center" nowrap=""><input name="ie" value="ISO-8859-1" type="hidden"><input value="en-IN" name="hl" type="hidden"><input name="source" type="hidden" value="hp"><input name="biw" type="hidden"><input name="bih" type="hidden"><div class="ds" style="height:32px;margin:4px 0"><input class="lst" style="margin:0;padding:5px 8px 0 6px;vertical-align:top;color:#000" autocomplete="off" value="" title="Google Search" maxlength="2048" name="q" size="57"></div><br style="line-height:0"><span class="ds"><span class="lsbb"><input class="lsb" value="Google Search" name="btnG" type="submit"></span></span><span class="ds"><span class="lsbb"><input class="lsb" id="tsuid_1" value="I'm Feeling Lucky" name="btnI" type="submit"><script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){var id='tsuid_1';document.getElementById(id).onclick = function(){if (this.form.q.value){this.checked = 1;if (this.form.iflsig)this.form.iflsig.disabled = false;}
else top.location='/doodles/';};})();</script><input value="AJiK0e8AAAAAY04g3P74nFUK3d6cWX3vykLVMkqHhEQU" name="iflsig" type="hidden"></span></span></td><td class="fl sblc" align="left" nowrap="" width="25%"><a href="/advanced_search?hl=en-IN&amp;authuser=0">Advanced search</a></td></tr></table><input id="gbv" name="gbv" type="hidden" value="1"><script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){
var a,b="1";if(document&&document.getElementById)if("undefined"!=typeof XMLHttpRequest)b="2";else if("undefined"!=typeof ActiveXObject){var c,d,e=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];for(c=0;d=e[c++];)try{new ActiveXObject(d),b="2"}catch(h){}}a=b;if("2"==a&&-1==location.search.indexOf("&gbv=2")){var f=google.gbvu,g=document.getElementById("gbv");g&&(g.value=a);f&&window.setTimeout(function(){location.href=f},0)};}).call(this);</script></form><div id="gac_scont"></div><div style="font-size:83%;min-height:3.5em"><br><div id="gws-output-pages-elements-homepage_additional_languages__als"><style>#gws-output-pages-elements-homepage_additional_languages__als{font-size:small;margin-bottom:24px}#SIvCob{color:#3c4043;display:inline-block;line-height:28px;}#SIvCob a{padding:0 3px;}.H6sW5{display:inline-block;margin:0 2px;white-space:nowrap}.z4hgWe{display:inline-block;margin:0 2px}</style><div id="SIvCob">Google offered in:  <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=hi&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAU">हिन्दी</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=bn&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAY">বাংলা</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=te&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAc">తెలుగు</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=mr&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAg">मराठी</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=ta&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAk">தமிழ்</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=gu&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAo">ગુજરાતી</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=kn&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAs">ಕನ್ನಡ</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=ml&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCAw">മലയാളം</a>    <a href="https://www.google.com/setprefs?sig=0_1_ioKmkQfBwHSx-YuYOAOBrd0is%3D&amp;hl=pa&amp;source=homepage&amp;sa=X&amp;ved=0ahUKEwjz7NDy4Oj6AhVShFwKHYm3CjAQ2ZgBCA0">ਪੰਜਾਬੀ</a>  </div></div></div><span id="footer"><div style="font-size:10pt"><div style="margin:19px auto;text-align:center" id="WqQANb"><a href="/intl/en/ads/">Advertising Programs</a><a href="http://www.google.co.in/services/">Business Solutions</a><a href="/intl/en/about.html">About Google</a><a href="https://www.google.com/setprefdomain?prefdom=IN&amp;prev=https://www.google.co.in/&amp;sig=K__cV3GoFfGTCvanoBiXE5qqdu4_M%3D">Google.co.in</a></div></div><p style="font-size:8pt;color:#70757a">&copy; 2022 - <a href="/intl/en/policies/privacy/">Privacy</a> - <a href="/intl/en/policies/terms/">Terms</a></p></span></center><script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){window.google.cdo={height:757,width:1440};(function(){
var a=window.innerWidth,b=window.innerHeight;if(!a||!b){var c=window.document,d="CSS1Compat"==c.compatMode?c.documentElement:c.body;a=d.clientWidth;b=d.clientHeight}a&&b&&(a!=google.cdo.width||b!=google.cdo.height)&&google.log("","","/client_204?&atyp=i&biw="+a+"&bih="+b+"&ei="+google.kEI);}).call(this);})();</script> <script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){google.xjs={ck:'xjs.hp.iHfCprUw_lc.L.X.O',cs:'ACT90oGUabG-jqyM7vztwfEcZ-EtZrFQeg',excm:[]};})();</script>  <script nonce="1rhpqKatBAB2gYRzXZRwMg">(function(){var u='/xjs/_/js/k\x3dxjs.hp.en.OXyHHoQ5vB8.O/am\x3dAAB0AgBQAKAC/d\x3d1/ed\x3d1/rs\x3dACT90oEVwJR5DpgprhAi94VZWMVfvNGcYA/m\x3dsb_he,d';
var d=this||self,e=function(a){return a};
var g;var l=function(a,b){this.g=b===h?a:""};l.prototype.toString=function(){return this.g+""};var h={};function n(){var a=u;google.lx=function(){p(a);google.lx=function(){}};google.bx||google.lx()}
function p(a){google.timers&&google.timers.load&&google.tick&&google.tick("load","xjsls");var b=document;var c="SCRIPT";"application/xhtml+xml"===b.contentType&&(c=c.toLowerCase());c=b.createElement(c);if(void 0===g){b=null;var k=d.trustedTypes;if(k&&k.createPolicy){try{b=k.createPolicy("goog#html",{createHTML:e,createScript:e,createScriptURL:e})}catch(q){d.console&&d.console.error(q.message)}g=b}else g=b}a=(b=g)?b.createScriptURL(a):a;a=new l(a,h);c.src=a instanceof l&&a.constructor===l?a.g:"type_error:TrustedResourceUrl";var f,m;(f=(a=null==(m=(f=(c.ownerDocument&&c.ownerDocument.defaultView||window).document).querySelector)?void 0:m.call(f,"script[nonce]"))?a.nonce||a.getAttribute("nonce")||"":"")&&c.setAttribute("nonce",f);document.body.appendChild(c);google.psa=!0};google.xjsu=u;setTimeout(function(){n()},0);})();function _DumpException(e){throw e;}
function _F_installCss(c){}
(function(){google.jl={blt:'none',chnk:0,dw:false,dwu:true,emtn:0,end:0,ine:false,injs:'none',injt:0,injth:0,injv2:false,lls:'default',pdt:0,rep:0,snet:true,strt:0,ubm:false,uwp:true};})();(function(){var pmc='{\x22d\x22:{},\x22sb_he\x22:{\x22agen\x22:true,\x22cgen\x22:true,\x22client\x22:\x22heirloom-hp\x22,\x22dh\x22:true,\x22dhqt\x22:true,\x22ds\x22:\x22\x22,\x22ffql\x22:\x22en\x22,\x22fl\x22:true,\x22host\x22:\x22google.com\x22,\x22isbh\x22:28,\x22jsonp\x22:true,\x22msgs\x22:{\x22cibl\x22:\x22Clear Search\x22,\x22dym\x22:\x22Did you mean:\x22,\x22lcky\x22:\x22I\\u0026#39;m Feeling Lucky\x22,\x22lml\x22:\x22Learn more\x22,\x22oskt\x22:\x22Input tools\x22,\x22psrc\x22:\x22This search was removed from your \\u003Ca href\x3d\\\x22/history\\\x22\\u003EWeb History\\u003C/a\\u003E\x22,\x22psrl\x22:\x22Remove\x22,\x22sbit\x22:\x22Search by image\x22,\x22srch\x22:\x22Google Search\x22},\x22ovr\x22:{},\x22pq\x22:\x22\x22,\x22refpd\x22:true,\x22rfs\x22:[],\x22sbas\x22:\x220 3px 8px 0 rgba(0,0,0,0.2),0 0 0 1px rgba(0,0,0,0.08)\x22,\x22sbpl\x22:16,\x22sbpr\x22:16,\x22scd\x22:10,\x22stok\x22:\x22PAi456c74KrLAimagWkZJZjpK_c\x22,\x22uhde\x22:false}}';google.pmc=JSON.parse(pmc);})();</script>        </body></html>

About the Author: Elavarasan PK

Technical Specialist, Intersoft Data Labs