您的位置:首页 >新闻资讯 > 正文

httpClient设置代理IP的方法

来源:互联网 作者:admin 时间:2019-10-09 15:47:28

  比如我们有时想要在网站上批量查数据,同一个时间段的大批量请求可能会使我们的IP被网站禁了,那么我们可以怎么去解决呢?这个时候代理IP就要派上用场了。设置代理IP的方式有很多,通过httpClient设置代理IP,要怎么执行?下面我们来看看教程代码。


httpClient设置代理IP的方法


  设置代理IP的代码:


  @Test

  public void test() throws Exception{

  //创建httpClient实例

  CloseableHttpClient httpClient = HttpClients.createDefault();

  //创建httpGet实例

  HttpPost httpPost = new HttpPost("请求地址");

  //设置代理IP,设置连接超时时间 、 设置 请求读取数据的超时时间 、 设置从connect Manager获取Connection超时时间、

  HttpHost proxy = new HttpHost("125.77.49.244", 808);

  Listparams = new ArrayList(); //设置请求参数

  params.add(new BasicNameValuePair("car_number", "粤B123456"));

  params.add(new BasicNameValuePair("licensePlateNo", "粤B123456"));

  HttpEntity entitys = new UrlEncodedFormEntity(params, "UTF-8");

  RequestConfig requestConfig = RequestConfig.custom()

  .setProxy(proxy)

  .setConnectTimeout(10000)

  .setSocketTimeout(10000)

  .setConnectionRequestTimeout(3000)

  .build();

  httpPost.setConfig(requestConfig);

  httpPost.setEntity(entitys);

  //设置请求头消息

  httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0");

  CloseableHttpResponse response = httpClient.execute(httpPost);

  if (response != null){

  HttpEntity entity = response.getEntity(); //获取返回实体

  if (entity != null){

  System.out.println("网页内容为:"+ EntityUtils.toString(entity,"utf-8"));

  }

  }

  if (response != null){

  response.close();

  }

  if (httpClient != null){

  httpClient.close();

  }

  }


  通过代理IP去访问,这样就能够解决我们的问题,而且也不用怕IP被封了。


相关文章内容简介