java通过代理访问外网https
2010-09-05 15:04
525 查看
//通过代理访问外网https
public class Test99999 extends Thread{
public static void main(String[] args) throws Exception {
//设置代理
String proxy = "openproxy.huawei.com";
int port = 8080;
System.setProperty("proxyType", "4");
System.setProperty("proxyPort", Integer.toString(port));
System.setProperty("proxyHost", proxy);
System.setProperty("proxySet", "true");
String url="https://www.smics.com/";
SSLContext sc = SSLContext.getInstance("SSL");
//指定信任https
sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
URL console = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
conn.setSSLSocketFactory(sc.getSocketFactory());
conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
conn.connect();
System.out.println("返回结果:"+conn.getResponseMessage());
InputStream is = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String curLine="";
while ((curLine = reader.readLine()) != null) {
System.out.println(curLine);
}
is.close();
}
private static class TrustAnyTrustManager implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[]{};
}
}
private static class TrustAnyHostnameVerifier implements HostnameVerifier {
public boolean verify(String hostname, SSLSession session) {
return true;
}
}
public class Test99999 extends Thread{
public static void main(String[] args) throws Exception {
//设置代理
String proxy = "openproxy.huawei.com";
int port = 8080;
System.setProperty("proxyType", "4");
System.setProperty("proxyPort", Integer.toString(port));
System.setProperty("proxyHost", proxy);
System.setProperty("proxySet", "true");
String url="https://www.smics.com/";
SSLContext sc = SSLContext.getInstance("SSL");
//指定信任https
sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
URL console = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
conn.setSSLSocketFactory(sc.getSocketFactory());
conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
conn.connect();
System.out.println("返回结果:"+conn.getResponseMessage());
InputStream is = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String curLine="";
while ((curLine = reader.readLine()) != null) {
System.out.println(curLine);
}
is.close();
}
private static class TrustAnyTrustManager implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[]{};
}
}
private static class TrustAnyHostnameVerifier implements HostnameVerifier {
public boolean verify(String hostname, SSLSession session) {
return true;
}
}
相关文章推荐
- centos7+mysql+svn(https方式访问)通过外网访问的配置
- JAVA操作SSL协议,通过Socket访问Https的程序代码例子
- https 通过Fiddler代理访问 (一)
- Ucloud无外网IP云主机通过代理访问外网
- 本地配置Java项目映射为外网访问【https协议版本】
- Problem shooting:为什么有时在Android平台上通过代理网关访问HTTPS网站会出现连接失败
- 通过https访问2级域名,来反向代理到各个不同的tomcat应用
- JAVA操作SSL协议,通过Socket访问Https的程序代码例子
- 通过代理实现Java代码访问指定URL
- java通过代理访问http
- 小工具-使用java SSL通过url获得访问转为String-http/https
- java httpClient使用代理实现外网访问
- Java本地的项目,怎么可以让别人通过外网访问-内网穿透
- JAVA通过代理访问外部资源
- java通过代理访问网络
- 【经验随笔】Java通过代理访问互联网平台提供的WebService接口的一种方法
- Tomcat中设置Java 客户端程序的http(https)访问代理
- JAVA通过代理访问外部资源實例
- JAVA实现http/https的Post、Get、代理访问请求
- Java 通过代理访问外部网络