当前位置: 代码迷 >> J2SE >> 求设置http代理的代码如何写啊
  详细解决方案

求设置http代理的代码如何写啊

热度:220   发布时间:2016-04-24 12:42:27.0
求设置http代理的代码怎么写啊?
Java code
import java.applet.Applet;import java.awt.Frame;import java.awt.TextArea;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;public class test extends Applet {    URL url;        TextArea showarea = new TextArea("下载的数据");            public void init() {                String strurl = "http://www.163.com";                try {            url=new URL(strurl);        } catch (MalformedURLException e) {                    e.printStackTrace();        }                add(showarea);            }        public void start() {                InputStream filecon =null;        BufferedReader filedata =null;        String line;        try {            filecon = url.openStream();            filedata = new BufferedReader(new InputStreamReader(filecon));            while ((line = filedata.readLine())!=null) {                showarea.append(line+"\n");            }                                } catch (IOException e) {            // TODO 自动生成 catch 块            e.printStackTrace();        }            }    public static void main(String[] args) {         Frame f = new Frame("URL Test");                  Applet ap =new test();         ap.init();         f.add(ap);         f.addWindowListener(new WindowAdapter(){            @Override            public void windowClosing(WindowEvent arg0) {                // TODO 自动生成方法存根                System.exit(0);            }                      });        f.setSize(400,300);        f.setVisible(true);        ap.start();    }}


这是书上的一个下载页面内容的程序 但是我的浏览器有代理 程序中的设置代理的代码该怎么写啊?
我的代理设置192.168.1.254 :808 求代码
上午发的帖子不能恢复了 只好重发一个

------解决方案--------------------
http://www.jiataiit.com/View_Articles.asp?ID=52
------解决方案--------------------
java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ....这样就可以指定代理为本机的8888为代理端口



访问URL.openConnection时就会自动使用上述代理,但是如果URL中是访问localhost的,则一定不通过代理
------解决方案--------------------
Java code
   // 根据地址 url 打开 Http 连接   HttpURLConnection con = (HttpURLConnection)( new URL( url ) ).openConnection();   if (proxy.hASProxy()) {   // 注重: 假如 proxySet 为 false 时,依然设置了 proxyHost 和 proxyPort,代理设置仍会起作用。   // 假如 proxyPort 设置有问题,代理设置不会起作用。   System.getProperties().put( "proxySet", "true" );   System.getProperties().put( "proxyHost", proxy.getProxyHost() );   System.getProperties().put( "proxyPort", String.valueOf( proxy.getProxyPort() ) );     // 假如需要代理服务器验证,在 Http 请求头中加入 Proxy-Authorization 头,   // 格式为: "Basic " + ("代理服务器用户名:密码"的 BASE64 编码)   if (proxy.needAuth()) {   con.setRequestProperty( "Proxy-Authorization", "Basic " + Encoder.base64Encode( proxy.getProxyUser() + ":" + proxy.getProxyPass() ) );   }   }
  相关解决方案