Java如何设置代理IP访问网站

发布时间:2016-12-13 00:00:00 编辑:嘉辉 手机版

  代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。下面小编准备了关于Java如何设置代理IP访问网站的文章,提供给大家参考!

  1.源码

  import java.io.BufferedInputStream;

  import java.net.URL;

  import java.net.URLConnection;

  public class TestProxyIp {

  public static void main(String args){

  //System.getProperties().setProperty("proxySet", "true"); //如果不设置,只要代理IP和代理端口正确,此项不设置也可以

  System.getProperties().setProperty("http.proxyHost", "218.26.204.66");

  System.getProperties().setProperty("http.proxyPort", "8080");

  System.out.println(getHtml("http://www.ip138.com/ip2city.asp")); //判断代理是否设置成功

  }

  private static String getHtml(String address){

  StringBuffer html = new StringBuffer();

  String result = null;

  try{

  URL url = new URL(address);

  URLConnection conn = url.openConnection();

  conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)");

  BufferedInputStream in = new BufferedInputStream(conn.getInputStream());

  try {

  String inputLine;

  byte buf = new byte;

  int bytesRead = 0;

  while (bytesRead >= 0) {

  inputLine = new String(buf, 0, bytesRead, "ISO-8859-1");

  html.append(inputLine);

  bytesRead = in.read(buf);

  inputLine = null;

  }

  buf = null;

  } finally {

  in.close();

  conn = null;

  url = null;

  }

  result = new String(html.toString().trim().getBytes("ISO-8859-1"), "gb2312").toLowerCase();

  }catch(Exception e){

  e.printStackTrace();

  return null;

  }

  html = null;

  return result;

  }

  }

  2.结果

本文已影响861
+1
0