使用"apache.commons.httpclient"
添加依赖
<dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.0</version> </dependency>
public static String doJsonPost(String url,String json, Map<String, String> headerParams) { MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager(); httpConnectionManager.closeIdleConnections(MAX_IDLE_TIME_OUT); HttpClient httpClient = new HttpClient(); PostMethod postMethod = new PostMethod(url); //设置代理服务器IP和端口号 httpClient.getHostConfiguration().setProxy("11.11.11.11", 8080); //使用抢先认证 httpClient.getParams().setAuthenticationPreemptive(true); //如果代理需要密码验证,这里设置用户名密码 Credentials defaultcreds = new UsernamePasswordCredentials("username", "password"); httpClient.getState().setProxyCredentials(AuthScope.ANY, defaultcreds); try { postMethod.addRequestHeader("Content-Type","application/x-www-form-urlencoded"); postMethod.addRequestHeader("Pragma","no-cache"); postMethod.addRequestHeader("Cache-Control:","no-cache"); postMethod.setRequestBody(json); httpClient.executeMethod(postMethod); if(postMethod.getStatusCode() == HttpStatus.SC_OK || postMethod.getStatusCode() == HttpStatus.SC_BAD_REQUEST){ return postMethod.getResponseBodyAsString(); }else { postMethod.abort(); } } catch (Exception e) { } finally { postMethod.releaseConnection(); } return null; }