关于Java.net.URL对象使用Proxy访问Internet资源
2011-09-01 14:27
661 查看
最近在做项目的过程中遇到了以下的问题,在跑下面这段代码的时候:
跑出了一个连接超时的异常,经过详细的检查,发现问题是因为我在局域网
访问Internet的资源的时候是通过代理服务器上网的,因此按照这个思路我修改了一下代码果然连接到了外网资源。
与上面的相比只是多了一个构造的代理对象而已,经过测试可以连接到外网,代码如下:
url.openConnection().getInputStream();
跑出了一个连接超时的异常,经过详细的检查,发现问题是因为我在局域网
访问Internet的资源的时候是通过代理服务器上网的,因此按照这个思路我修改了一下代码果然连接到了外网资源。
url.openConnection(proxy).getInputStream();
与上面的相比只是多了一个构造的代理对象而已,经过测试可以连接到外网,代码如下:
import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.MalformedURLException; import java.net.Proxy; import java.net.URL; /*本类用于测试Java URL对象通过代理访问网络资源*/ public class Urlconnection { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String urlString="http://baidu.com"; String proxyIp="172.20.230.5"; //代理Ip地址 int Port=3128; //代理提供的开放端口 try { /*构造Proxy对象,以适用于代理上网的方式*/ InetSocketAddress socketAddress=new InetSocketAddress( InetAddress.getByName(proxyIp),Port); Proxy proxy=new Proxy(Proxy.Type.HTTP,socketAddress); /*构造url对象*/ URL url= new URL(urlString); /*测试是否能够打开连接,获得输入流,连接方式是直连方式*/ // InputStream inputStream=url.openConnection().getInputStream(); /*下面用代理的方式进行连接,需要构造Proxy对象*/ InputStream input=url.openConnection(proxy).getInputStream(); if(input !=null){ System.out.println("Connectioned"); } } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- 关于Java.net.URL对象使用Proxy访问Internet资源
- 关于Java.net.URL对象使用Proxy访问Internet资源
- java.net.URL如何通过proxy访问internet资源
- java.net.URL如何通过proxy访问internet资源
- Java HttpURLConnection使用proxy访问url
- Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie
- java.net.URL的简单使用
- 关于GSON使用HASHMAP来转换成JAVA对象
- 使用JXPath访问java对象、集合和XML文件
- 关于Java变量、数组、对象的声明、初始化与访问方式-----《疯狂Java突破程序员基本功的16课》读书笔记----第一章
- 【Java】java使用反射访问对象方法和成员变量
- Java Http连接中(HttpURLConnection)中使用代理(Proxy)及其验证(Authentication)
- 关于weblogic下使用URL.openConnection获取连接返回javax.net.ssl.SSLKeyException错误
- 关于一道J笔试或者机试题的Java实现:从键盘输入一串字符,翻转后输出(要求不使用string相关类即对象)
- java学习第二十五天之模拟服务器、反射、使用URL对象
- controller中使用@RequestBody,Java如何传递json对象访问接口,以及对象中的时间类型
- 使用XStream注解实现Java对象与XML互相转换的代码示例---转自:http://www.blogjava.net/bolo
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
- java关于URL、URLEncoder、URLDecoder类的使用
- 关于使用ASP.NE 1.1发送电子邮件时出现的 未能访问“CDO.Message”对象 的错误的解决方法