首页
IT
登录
6mi
u
盘
搜
搜 索
IT
HttpClient示例
HttpClient示例
xiaoxiao
2026-05-24
5
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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.config.CookieSpecs; import org.apache.http.client.config.RequestConfig; 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.config.Registry; import org.apache.http.config.RegistryBuilder; import org.apache.http.cookie.Cookie; import org.apache.http.cookie.CookieOrigin; import org.apache.http.cookie.CookieSpec; import org.apache.http.cookie.CookieSpecProvider; import org.apache.http.cookie.MalformedCookieException; import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.cookie.BestMatchSpecFactory; import org.apache.http.impl.cookie.BrowserCompatSpec; import org.apache.http.impl.cookie.BrowserCompatSpecFactory; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HttpContext; import org.apache.http.util.EntityUtils; public class HttpClientObject { private CloseableHttpClient httpClient = null ; private HttpResponse response; private HttpPost httpPost = null ; private HttpGet httpGet = null ; private String paramKey = "" ; private String paramValue = "" ; private String responseString; public void setParamKey(String paramKey) { this .paramKey = paramKey; } public void setParamValue(String paramValue) { this .paramValue = paramValue; } public String getResponseString() { return responseString; } public HttpClientObject() { this .getHttpClient(); } private List<NameValuePair> getRequestBody() { NameValuePair pair1 = new BasicNameValuePair(paramKey, paramValue); List<NameValuePair> pairList = new ArrayList<NameValuePair>(); pairList.add(pair1); return pairList; } public void submit() { try { if (httpPost != null ) { response = httpClient.execute(httpPost); httpPost = null ; } if (httpGet != null ) { response = httpClient.execute(httpGet); httpGet = null ; } this .response(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private void response() { try { HttpEntity httpEntity = response.getEntity(); responseString = EntityUtils.toString(httpEntity); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void setPost(String httpUrl) { try { HttpEntity requestHttpEntity = new UrlEncodedFormEntity( this .getRequestBody()); httpPost = new HttpPost(httpUrl); httpPost.setEntity(requestHttpEntity); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } } public void setGet(String httpUrl) { httpGet = new HttpGet(httpUrl); } private void getHttpClient() { BasicCookieStore cookieStore = new BasicCookieStore(); CookieSpecProvider easySpecProvider = new CookieSpecProvider() { public CookieSpec create(HttpContext context) { return new BrowserCompatSpec() { @Override public void validate(Cookie cookie, CookieOrigin origin) throws MalformedCookieException { // Oh, I am easy } }; } }; Registry<CookieSpecProvider> r = RegistryBuilder .<CookieSpecProvider> create() .register(CookieSpecs.BEST_MATCH, new BestMatchSpecFactory()) .register(CookieSpecs.BROWSER_COMPATIBILITY, new BrowserCompatSpecFactory()) .register( "easy" , easySpecProvider).build(); RequestConfig requestConfig = RequestConfig.custom() .setCookieSpec( "easy" ).setSocketTimeout( 10000 ) .setConnectTimeout( 10000 ).build(); httpClient = HttpClients.custom().setDefaultCookieSpecRegistry(r) .setDefaultRequestConfig(requestConfig) .setDefaultCookieStore(cookieStore).build(); } }
调用时:
1 2 3 4 HttpClientObject hco = new HttpClientObject(); hco.setGet(url); hco.submit(); String responseContent = hco.getResponseString();
转载请注明原文地址: https://ju.6miu.com/read-1310020.html
最新回复
(
0
)