Packagecom.wdm.utils;ImportJava.io.ByteArrayOutputStream;Importjava.io.IOException;ImportJava.io.InputStream;ImportJava.io.OutputStream;Importjava.net.HttpURLConnection;ImportJava.net.URL;ImportJava.util.Map;ImportOrg.slf4j.Logger;Importorg.slf4j.LoggerFactory; Public classHttpclientutils {Private StaticLogger Logger = Loggerfactory.getlogger (httpclientutils.class); Private Static intConnect_time_out = 1000; Private Static intRead_time_out = 1000; Private Static byte[] BUFFER =New byte[1024]; Public Static FinalString default_charset = "UTF-8"; Public Staticstring get (string url) {returnGet (URL,NULL, Default_charset); } Public Staticstring Get (string URL, string charset) {returnGet (URL,NULL, CharSet); } Public StaticString get (string URL, map<string, string>header, String CharSet) { returnget (URL, header, CharSet, Connect_time_out, read_time_out); } Public StaticString get (string URL, map<string, string>header, String CharSet,intConnectTimeout,intreadtimeout) {String result= ""; Try{httpurlconnection Connection= (httpurlconnection)Newurl (url). OpenConnection (); Connection.setusecaches (false); Connection.setconnecttimeout (ConnectTimeout); Connection.setreadtimeout (readtimeout); if(Header! =NULL) { for(Map.entry<string, string>Entry:header.entrySet ()) {Connection.setrequestproperty (Entry.getkey (), Entry.getvalue ()); }} Bytearrayoutputstream out=NewBytearrayoutputstream (); intResponsecode =Connection.getresponsecode (); if(Responsecode <httpurlconnection.http_bad_request) {InputStream is=Connection.getinputstream (); intReadcount; while((Readcount = Is.read (BUFFER)) > 0) {out.write (BUFFER,0, Readcount); } is.close (); } Else{Logger.warn ("{} HTTP response code is {}", URL, responsecode); } connection.disconnect (); Result=out.tostring (); } Catch(IOException e) {logger.error ("{}", E.getmessage (), E); } returnresult; } Public StaticString post (string URL, map<string, string>params) { returnpost (URL, params, default_charset); } Public StaticString post (string URL, map<string, string>params, String CharSet) { returnPost (URL, params,NULL, CharSet); } Public StaticString post (string URL, map<string, string> params, map<string, string>header, String CharSet) { returnpost (URL, params, header, CharSet, Connect_time_out, read_time_out); } Public StaticString post (string URL, map<string, string> params, map<string, string>header, String CharSet,intConnectTimeout,intreadtimeout) {String result= ""; Try{httpurlconnection Connection= (httpurlconnection)Newurl (url). OpenConnection (); Connection.setrequestmethod ("POST"); Connection.setdooutput (true); Connection.setusecaches (false); Connection.setconnecttimeout (ConnectTimeout); Connection.setreadtimeout (readtimeout); if(Header! =NULL) { for(Map.entry<string, string>Entry:header.entrySet ()) {Connection.setrequestproperty (Entry.getkey (), Entry.getvalue ()); }} StringBuilder Builder=NewStringBuilder (); if(Params! =NULL) { for(Map.entry<string, string>Entry:params.entrySet ()) {Builder.append (Entry.getkey ()); Builder.append ("="); Builder.append (Entry.getvalue ()); Builder.append ("&"); }} OutputStream out=Connection.getoutputstream (); Out.write (Builder.tostring (). GetBytes (charset)); Out.flush (); Bytearrayoutputstream bout=NewBytearrayoutputstream (); if(Connection.getresponsecode () <httpurlconnection.http_bad_request) {InputStream is=Connection.getinputstream (); intReadcount; while((Readcount = Is.read (BUFFER)) > 0) {bout.write (BUFFER,0, Readcount); } is.close (); } connection.disconnect (); Result=bout.tostring (); } Catch(IOException e) {logger.error ("{}", E.getmessage (), E); } returnresult; }}
HTTP Request Data Encapsulation