CCproxy 实现http服务器代理

     有的时候需要在电脑上搭建Http代理服务器。本篇文章是在 Windows + CCProxy搭建的网络代理。

只需要勾选http选项,如下图所示。第一步

第二步CCproxy 实现http服务器代理_第1张图片

                 CCproxy 实现http服务器代理_第2张图片

Java端http代理设定.需要引用的jar包:httpclient-4.3.1.jar、httpcore-4.3.2.jar:代理服务器地址:127.0.0.1:9988

实际请求地址为:127.0.0.1:7001地址

import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

/**
 * 请求第三方http代理
* demo */ public class CopyOfRstHttpClientProxy { public static final CopyOfRstHttpClientProxy Me = new CopyOfRstHttpClientProxy(); private static final String PLAT_STREAM_ENCODE = "UTF8"; public static PoolingHttpClientConnectionManager cm = null; static { cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(200); cm.setDefaultMaxPerRoute(20); cm.setDefaultMaxPerRoute(50); } /** * http请求数据代理 * * @param content * @return */ public String submit(String request) { // HttpClient CloseableHttpClient closeableHttpClient = HttpClients.custom().setConnectionManager(cm).build(); // 依次是目标请求地址,端口号,协议类型 HttpHost target = new HttpHost("127.0.0.1", 7001, "http"); // 依次是代理地址,代理端口号,协议类型 HttpHost proxy = new HttpHost("127.0.0.1", 9988, "http"); RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); // 请求地址 HttpPost httpPost = new HttpPost("http://127.0.0.1:7001/Demo/servlet"); httpPost.setConfig(config); // 创建参数队列-Form表单格式 List formparams = new ArrayList(); formparams.add(new BasicNameValuePair("Xml", request));// Xml:加密后的XML交易报文 formparams.add(new BasicNameValuePair("Sid", "01"));// Sid:请求服务ID(原文) UrlEncodedFormEntity entity = null; String result = ""; try { // StringEntity形式 // StringEntity entity = new // StringEntity(request,PLAT_STREAM_ENCODE); entity = new UrlEncodedFormEntity(formparams, PLAT_STREAM_ENCODE); httpPost.setEntity(entity); CloseableHttpResponse response = closeableHttpClient.execute(target, httpPost); HttpEntity httpEntity = response.getEntity(); if (httpEntity != null) { result =EntityUtils.toString(httpEntity, PLAT_STREAM_ENCODE); } // 释放资源 closeableHttpClient.close(); } catch (Exception e) { e.printStackTrace(); } return result; } }

              


你可能感兴趣的:(JAVA总结)