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

Java检测代理IP

来源:本站 作者:admin 时间:2019-06-05 17:25:42

JAVA是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。今天主要说的是如何用JAVA 来检测代理IP,话不多说,上代码:

 Java检测代理IP


import java.io.IOException;

 

import java.io.InputStream;

 

import java.net.InetSocketAddress;

 

import java.net.Proxy;

 

import java.net.URL;

 

import java.net.URLConnection;

 

import java.nio.charset.Charset;

 

import java.util.HashMap;

 

import java.util.Iterator;

 

import java.util.Map;

 

import java.io.BufferedReader;

 

import java.io.InputStreamReader;

 

public static void createIPAddress(String ip,int port) {

 

URL url=null;

 

try {

 

url=new URL("http://www.baidu.com");

 

} catch (MalformedURLException e) {

 

System.out.println("url invalidate");

 

}

 

InetSocketAddress addr=null;

 

addr=new InetSocketAddress(ip, port);

 

Proxy proxy=new Proxy(Proxy.Type.HTTP, addr); // http proxy

 

InputStream in=null;

 

try {

 

URLConnection conn=url.openConnection(proxy);

 

conn.setConnectTimeout(1000);

 

in=conn.getInputStream();

 

} catch (Exception e) {

 

System.out.println("ip " + ip + " is not aviable");//异常IP

 

}

 

String s=convertStreamToString(in);

 

System.out.println(s);

 

// System.out.println(s);

 

if (s.indexOf("baidu") > 0) {//有效IP

 

System.out.println(ip + ":"+port+ " is ok");

 

}

 

}

 

public static String convertStreamToString(InputStream is) {

 

if (is==null)

 

return "";

 

BufferedReader reader=new BufferedReader(new InputStreamReader(is));

 

StringBuilder sb=new StringBuilder();

 

String line=null;

 

try {

 

while ((line=reader.readLine()) !=null) {

 

sb.append(line + "/n");

 

}

 

} catch (IOException e) {

 

e.printStackTrace();

 

} finally {

 

try {

 

is.close();

 

} catch (IOException e) {

 

e.printStackTrace();

 

}

 

}

 

return sb.toString();

 

}


相关文章内容简介
推荐阅读