java 代理ip

来源:互联网 发布:pkm2软件 编辑:程序博客网 时间:2024/05/22 08:07
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.SocketAddress;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;


public class Test1 {

    /**
     * @param args
     * @throws UnsupportedEncodingException
     */
    public static void main(String[] args) {
        //http://www.xicidaili.com/nn/1                  代理ip获取网址
        SocketAddress addr = new InetSocketAddress("113.128.90.52", Integer.parseInt("48888"));
        Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
         StringBuffer html = new StringBuffer();

            String result = null;

//测试 ip是否被代理

            try{
                URL url = new URL("http://www.ip138.com/ip2city.asp");
                URLConnection conn = url.openConnection(proxy);
                conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)");
                BufferedInputStream in = new BufferedInputStream(conn.getInputStream());

                try{
                    String inputLine;
                    byte[] buf = new byte[4096];
                    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();
System.err.println(result);
            }catch (Exception e) {
                e.printStackTrace();
               
            }finally{
                html = null;            
            }
           
        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; NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)");
                BufferedInputStream in = new BufferedInputStream(conn.getInputStream());

                try{
                    String inputLine;
                    byte[] buf = new byte[4096];
                    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;
            }finally{
                html = null;            
            }
            return result;
        }
}