{"id":286,"date":"2021-01-15T14:45:16","date_gmt":"2021-01-15T06:45:16","guid":{"rendered":"https:\/\/22pig.com\/?p=286"},"modified":"2021-01-15T14:45:16","modified_gmt":"2021-01-15T06:45:16","slug":"java%e8%b0%83%e7%94%a8rest%e6%8e%a5%e5%8f%a3","status":"publish","type":"post","link":"http:\/\/22pig.com\/?p=286","title":{"rendered":"java\u8c03\u7528rest\u63a5\u53e3"},"content":{"rendered":"<p>package com.22pig.util;<\/p>\n<p>import java.io.IOException;<\/p>\n<p>import java.text.MessageFormat;<\/p>\n<p>import java.util.ArrayList;<\/p>\n<p>import java.util.List;<\/p>\n<p>import java.util.concurrent.TimeUnit;<\/p>\n<p>import org.apache.http.NameValuePair;<\/p>\n<p>import org.apache.http.client.ClientProtocolException;<\/p>\n<p>import org.apache.http.client.ResponseHandler;<\/p>\n<p>import org.apache.http.client.entity.UrlEncodedFormEntity;<\/p>\n<p>import org.apache.http.client.methods.HttpGet;<\/p>\n<p>import org.apache.http.client.methods.HttpPost;<\/p>\n<p>import org.apache.http.impl.client.BasicResponseHandler;<\/p>\n<p>import org.apache.http.impl.client.CloseableHttpClient;<\/p>\n<p>import org.apache.http.impl.client.HttpClients;<\/p>\n<p>import org.apache.http.message.BasicNameValuePair;<\/p>\n<p>import org.slf4j.Logger;<\/p>\n<p>import org.slf4j.LoggerFactory;<\/p>\n<p>\/**<\/p>\n<p>* @Description<\/p>\n<p>* @author<\/p>\n<p>* @date 2016\u5e7410\u670814\u65e5 \u4e0b\u53484:04:11<\/p>\n<p>*\/<\/p>\n<p>\/**<br \/>\n*<br \/>\n*<br \/>\n* \u5206\u88c5\u4e00\u4e2ahttp\u8bf7\u6c42\u7684\u5de5\u5177\u7c7b<br \/>\n*\/<\/p>\n<p>public class HttpClientUtil {<\/p>\n<p>private static final Logger log = LoggerFactory<br \/>\n.getLogger(HttpClientUtil.class);<\/p>\n<p>\/**<br \/>\n*<br \/>\n*<br \/>\n* \u521d\u59cb\u5316HttpClient<br \/>\n*\/<\/p>\n<p>private CloseableHttpClient httpClient = HttpClients.createDefault();<\/p>\n<p>\/**<br \/>\n*<br \/>\n*<br \/>\n* POST\u65b9\u5f0f\u8c03\u7528<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n* @param url<br \/>\n*<br \/>\n*<br \/>\n* @param params<br \/>\n* \u53c2\u6570\u4e3aNameValuePair\u952e\u503c\u5bf9\u5bf9\u8c61<br \/>\n*<br \/>\n*<br \/>\n* @return \u54cd\u5e94\u5b57\u7b26\u4e32<br \/>\n*<br \/>\n*<br \/>\n* @throws java.io.UnsupportedEncodingException<br \/>\n*\/<\/p>\n<p>public String executeByPOST(String url, List&lt;NameValuePair&gt; params) {<\/p>\n<p>HttpPost post = new HttpPost(url);<\/p>\n<p>ResponseHandler&lt;String&gt; responseHandler = new BasicResponseHandler();<\/p>\n<p>String responseJson = null;<\/p>\n<p>try {<\/p>\n<p>if (params != null) {<\/p>\n<p>post.setEntity(new UrlEncodedFormEntity(params));<\/p>\n<p>}<\/p>\n<p>responseJson = httpClient.execute(post, responseHandler);<\/p>\n<p>log.info(&#8220;HttpClient POST\u8bf7\u6c42\u7ed3\u679c\uff1a&#8221; + responseJson);<\/p>\n<p>}<\/p>\n<p>catch (ClientProtocolException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>log.info(&#8220;HttpClient POST\u8bf7\u6c42\u5f02\u5e38\uff1a&#8221; + e.getMessage());<\/p>\n<p>}<\/p>\n<p>catch (IOException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>}<\/p>\n<p>finally {<\/p>\n<p>httpClient.getConnectionManager().closeExpiredConnections();<\/p>\n<p>httpClient.getConnectionManager().closeIdleConnections(30,<br \/>\nTimeUnit.SECONDS);<\/p>\n<p>}<\/p>\n<p>return responseJson;<\/p>\n<p>}<\/p>\n<p>\/**<br \/>\n*<br \/>\n*<br \/>\n* Get\u65b9\u5f0f\u8bf7\u6c42<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n* @param url<br \/>\n* \u5e26\u53c2\u6570\u5360\u4f4d\u7b26\u7684URL\uff0c\u4f8b\uff1ahttp:\/\/ip\/User\/user\/center.aspx?_action=GetSimpleUserInfo<br \/>\n* &amp;codes={0}&amp;email={1}<br \/>\n*<br \/>\n*<br \/>\n* @param params<br \/>\n* \u53c2\u6570\u503c\u6570\u7ec4\uff0c\u9700\u8981\u4e0eurl\u4e2d\u5360\u4f4d\u7b26\u987a\u5e8f\u5bf9\u5e94<br \/>\n*<br \/>\n*<br \/>\n* @return \u54cd\u5e94\u5b57\u7b26\u4e32<br \/>\n*<br \/>\n*<br \/>\n* @throws java.io.UnsupportedEncodingException<br \/>\n*\/<\/p>\n<p>public String executeByGET(String url, Object[] params) {<\/p>\n<p>String messages = MessageFormat.format(url, params);<\/p>\n<p>HttpGet get = new HttpGet(messages);<\/p>\n<p>ResponseHandler&lt;String&gt; responseHandler = new BasicResponseHandler();<\/p>\n<p>String responseJson = null;<\/p>\n<p>try {<\/p>\n<p>responseJson = httpClient.execute(get, responseHandler);<\/p>\n<p>log.info(&#8220;HttpClient GET\u8bf7\u6c42\u7ed3\u679c\uff1a&#8221; + responseJson);<\/p>\n<p>}<\/p>\n<p>catch (ClientProtocolException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>log.error(&#8220;HttpClient GET\u8bf7\u6c42\u5f02\u5e38\uff1a&#8221; + e.getMessage());<\/p>\n<p>}<\/p>\n<p>catch (IOException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>log.error(&#8220;HttpClient GET\u8bf7\u6c42\u5f02\u5e38\uff1a&#8221; + e.getMessage());<\/p>\n<p>}<\/p>\n<p>finally {<\/p>\n<p>httpClient.getConnectionManager().closeExpiredConnections();<\/p>\n<p>httpClient.getConnectionManager().closeIdleConnections(30,<br \/>\nTimeUnit.SECONDS);<\/p>\n<p>}<\/p>\n<p>return responseJson;<\/p>\n<p>}<\/p>\n<p>\/**<br \/>\n*<br \/>\n*<br \/>\n* @param url<br \/>\n*<br \/>\n*<br \/>\n* @return<br \/>\n*\/<\/p>\n<p>public String executeByGET(String url) {<\/p>\n<p>HttpGet get = new HttpGet(url);<\/p>\n<p>ResponseHandler&lt;String&gt; responseHandler = new BasicResponseHandler();<\/p>\n<p>String responseJson = null;<\/p>\n<p>try {<\/p>\n<p>responseJson = httpClient.execute(get, responseHandler);<\/p>\n<p>log.info(&#8220;HttpClient GET\u8bf7\u6c42\u7ed3\u679c\uff1a&#8221; + responseJson);<\/p>\n<p>}<\/p>\n<p>catch (ClientProtocolException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>log.error(&#8220;HttpClient GET\u8bf7\u6c42\u5f02\u5e38\uff1a&#8221; + e.getMessage());<\/p>\n<p>}<\/p>\n<p>catch (IOException e) {<\/p>\n<p>e.printStackTrace();<\/p>\n<p>log.error(&#8220;HttpClient GET\u8bf7\u6c42\u5f02\u5e38\uff1a&#8221; + e.getMessage());<\/p>\n<p>}<\/p>\n<p>finally {<\/p>\n<p>httpClient.getConnectionManager().closeExpiredConnections();<\/p>\n<p>httpClient.getConnectionManager().closeIdleConnections(30,<br \/>\nTimeUnit.SECONDS);<\/p>\n<p>}<\/p>\n<p>return responseJson;<\/p>\n<p>}<\/p>\n<p>\/**<br \/>\n*<br \/>\n*<br \/>\n* PUT\u65b9\u5f0f\u8c03\u7528<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n* @param url<br \/>\n*<br \/>\n*<br \/>\n* @param params<br \/>\n* \u53c2\u6570\u4e3aNameValuePair\u952e\u503c\u5bf9\u5bf9\u8c61<br \/>\n*<br \/>\n*<br \/>\n* @return \u54cd\u5e94\u5b57\u7b26\u4e32<br \/>\n*<br \/>\n*<br \/>\n* @throws java.io.UnsupportedEncodingException<br \/>\n*\/<\/p>\n<p>public String executeByPUT(String url, List&lt;NameValuePair&gt; params) {<\/p>\n<p>HttpPut put = new HttpPut(url);<\/p>\n<p>ResponseHandler&lt;String&gt; responseHandler = new BasicResponseHandler();<\/p>\n<p>String responseJson = null;<\/p>\n<p>try {<\/p>\n<p>if (params != null) {<\/p>\n<p>put.setEntity(new UrlEncodedFormEntity(params));<\/p>\n<p>}<\/p>\n<p>responseJson = httpClient.execute(put, responseHandler);<\/p>\n<p>log.debug(&#8220;HttpClient PUT\u8bf7\u6c42\u7ed3\u679c\uff1a&#8221; + responseJson);<\/p>\n<p>}<\/p>\n<p>catch (Exception e) {<\/p>\n<p>log.error(&#8220;HttpClient PUT\u8bf7\u6c42\u5f02\u5e38\uff1a&#8221;, e);<\/p>\n<p>}<\/p>\n<p>finally {<\/p>\n<p>httpClient.getConnectionManager().closeExpiredConnections();<\/p>\n<p>httpClient.getConnectionManager().closeIdleConnections(30,<br \/>\nTimeUnit.SECONDS);<\/p>\n<p>}<\/p>\n<p>return responseJson;<\/p>\n<p>}<\/p>\n<p>\/**<br \/>\n*<br \/>\n*<br \/>\n* DEL\u65b9\u5f0f\u8c03\u7528<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n*<br \/>\n* @param url<br \/>\n*<br \/>\n*<br \/>\n* @param params<br \/>\n* \u53c2\u6570\u4e3aNameValuePair\u952e\u503c\u5bf9\u5bf9\u8c61<br \/>\n*<br \/>\n*<br \/>\n* @return \u54cd\u5e94\u5b57\u7b26\u4e32<br \/>\n*<br \/>\n*<br \/>\n* @throws java.io.UnsupportedEncodingException<br \/>\n*\/<\/p>\n<p>public String executeByDEL(String url, List&lt;NameValuePair&gt; params) {<\/p>\n<p>HttpDeleteWithBody del = new HttpDeleteWithBody(url);<\/p>\n<p>ResponseHandler&lt;String&gt; responseHandler = new BasicResponseHandler();<\/p>\n<p>String responseJson = null;<\/p>\n<p>try {<\/p>\n<p>if (params != null) {<\/p>\n<p>del.setEntity(new UrlEncodedFormEntity(params));<br \/>\n;<\/p>\n<p>}<\/p>\n<p>responseJson = httpClient.execute(del, responseHandler);<\/p>\n<p>log.debug(&#8220;HttpClient DEL\u8bf7\u6c42\u7ed3\u679c\uff1a&#8221; + responseJson);<\/p>\n<p>}<\/p>\n<p>catch (Exception e) {<\/p>\n<p>log.error(&#8220;HttpClient DEL\u8bf7\u6c42\u5f02\u5e38\uff1a&#8221;, e);<\/p>\n<p>}<\/p>\n<p>finally {<\/p>\n<p>httpClient.getConnectionManager().closeExpiredConnections();<\/p>\n<p>httpClient.getConnectionManager().closeIdleConnections(30,<br \/>\nTimeUnit.SECONDS);<\/p>\n<p>}<\/p>\n<p>return responseJson;<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase {<\/p>\n<p>@Override<br \/>\npublic String getMethod() {<\/p>\n<p>\/\/ TODO Auto-generated method stub<\/p>\n<p>return null;<\/p>\n<p>}<\/p>\n<p>public HttpDeleteWithBody(final String uri) {<\/p>\n<p>super();<\/p>\n<p>setURI(URI.create(uri));<\/p>\n<p>}<\/p>\n<p>public HttpDeleteWithBody(final URI uri) {<\/p>\n<p>super();<\/p>\n<p>setURI(uri);<\/p>\n<p>}<\/p>\n<p>public HttpDeleteWithBody() {<\/p>\n<p>super();<\/p>\n<p>}<\/p>\n<p>}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>package com.22pig.util; import java.io.IOException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.slf4j.Logger; import org.slf4j.LoggerFactory; \/** * @Description * @author * @date 2016\u5e7410\u670814\u65e5 \u4e0b\u53484:04:11 *\/ \/** * * * \u5206\u88c5\u4e00\u4e2ahttp\u8bf7\u6c42\u7684\u5de5\u5177\u7c7b *\/ public class HttpClientUtil &#8230; <a title=\"java\u8c03\u7528rest\u63a5\u53e3\" class=\"read-more\" href=\"http:\/\/22pig.com\/?p=286\" aria-label=\"More on java\u8c03\u7528rest\u63a5\u53e3\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-286","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"http:\/\/22pig.com\/index.php?rest_route=\/wp\/v2\/posts\/286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/22pig.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/22pig.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/22pig.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/22pig.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=286"}],"version-history":[{"count":0,"href":"http:\/\/22pig.com\/index.php?rest_route=\/wp\/v2\/posts\/286\/revisions"}],"wp:attachment":[{"href":"http:\/\/22pig.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/22pig.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=286"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/22pig.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}