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  求代码
上午发的帖子不能恢复了  只好重发一个

解决方案 »

  1.   

    http://www.jiataiit.com/View_Articles.asp?ID=52
      

  2.   

    java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ....这样就可以指定代理为本机的8888为代理端口访问URL.openConnection时就会自动使用上述代理,但是如果URL中是访问localhost的,则一定不通过代理
      

  3.   


       // 根据地址 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() ) ); 
      } 
      } 
    这也是GOOGLE的~~