import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;
import java.util.logging.Logger;
import org.junit.Test;
public class EclipseStart {
private static final Logger logg = Logger.getLogger(EclipseStart.class.getName());
private static final String username = "域\\用户";
private static final String password = "密码";
private static final String host = "ip";
private static final String port = "端口";
/**
* 访问代理认证
*/
public static void initAuth() {
Properties props = System.getProperties();
props.setProperty("proxySet", "true");
props.setProperty("http.proxyHost", host);
props.setProperty("http.proxyPort", port);
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,
new String(password).toCharArray());
}
});
}
@Test
public void test() {
this.initAuth();
logg.info(getHtmlShow("http://www.baidu.com"));
System.out.println("fuck usa");
getHtmlToSaveFile("http://www.baidu.com", "d:\\", "do.html");
}
/**
* 获得指定地址的html代码
* @param address
* @return
*/
private static String getHtmlShow(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[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;
}
html = null;
return result;
}
/**
* 获得指定地址的html代码 保存为文件
* @param address
* @return
*/
private static void getHtmlToSaveFile(String address,String path,String fileName) {
try {
URL url = new URL(address);
URLConnection conn = url.openConnection();
BufferedInputStream in = new BufferedInputStream(
conn.getInputStream());
FileOutputStream fs = new FileOutputStream(path+fileName);
try {
byte[] buf = new byte[1024];
int bytesRead = 0;
while ((bytesRead = in.read(buf)) != -1) {
bytesRead += bytesRead;
fs.write(buf);
}
logg.info(""+bytesRead);
} finally {
in.close();
conn = null;
url = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
java 代理访问 URLConnection
最新推荐文章于 2022-08-24 21:44:55 发布