gaoshou:my problem is
在网上访问一个链接时,往往会被引导到其他的地址上,比如用户没有注册,在进行交易的时候,会被引导到登录或注册页面上去。我希望能够在客户端通过applet发送请求并捕获服务器返回的页面的地址,怎么做?
我尝试过在客户端查找返回页面的头信息,但该操作仅仅在程序以应用程序的形式运行时可用,而以applet形式无法实现。并且头信息好象也没有关于服务器返回的页面的地址的信息。
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import java.io.*;public class URLRedirect extends Applet {
  boolean isStandalone = false;
  BorderLayout borderLayout1 = new BorderLayout();
  TextField requestURL = new TextField();
  TextArea serverEcho = new TextArea();
  TextField redirectURL = new TextField();  public URLRedirect() {
  }  public void init() {
    this.setLayout(borderLayout1);
    requestURL.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        requestURL_actionPerformed(e);
      }
    });
    this.add(requestURL, BorderLayout.NORTH);
    this.add(serverEcho, BorderLayout.CENTER);
    this.add(redirectURL, BorderLayout.SOUTH);
  }
  void requestURL_actionPerformed(ActionEvent e) {
    serverEcho.append("Started\n");
    try{
      URL u=new URL(requestURL.getText());
      URLConnection con=u.openConnection();
      String key;
      String header;
      int i=1;
      key=con.getHeaderFieldKey(i);
      header=con.getHeaderField(i);
      while(key!=null){
        serverEcho.append("H"+i+":"+key+"="+header+"\n");
        i++;
        key=con.getHeaderFieldKey(i);
        header=con.getHeaderField(i);
      }
      serverEcho.append("end");
    }catch(Exception ioe){
      serverEcho.append(e.toString());
    }
  }
  static void getHeaderInfo(String url){
    try{
      URL u=new URL(url);
      URLConnection con=u.openConnection();
      String key;
      String header;
      int i=1;
      key=con.getHeaderFieldKey(i);
      header=con.getHeaderField(i);
      while(key!=null){
        System.out.println("H"+i+":"+key+"="+header+"\n");
        i++;
        key=con.getHeaderFieldKey(i);
        header=con.getHeaderField(i);
      }
    }catch(Exception ioe){}
  }
  public static void main(String[] args){
    String feedBack;
    try{
      BufferedReader echo=new BufferedReader(new InputStreamReader(System.in));
      do{
        feedBack=echo.readLine();
        if(feedBack.equalsIgnoreCase("exit"))
          break;
        getHeaderInfo(feedBack);
      }while(true);
    }catch(Exception ioe){}
  }
}
what i need indeed is how can i get the url redirection information in applet?
i can get html with url an dheader info but no info about redirect can i found in header!can u help me?

解决方案 »

  1.   

    似乎是该用服务器端脚本的问题(至少大多数是这么实现的),用Applet有点自找麻烦。
    你愿意用便想办法吧
      

  2.   

    hejiehui说的极正确。这里的人水平真的不怎么样。
    我一个问题问了两遍,kao,半天没人理我。
    整个版面问的最多的就是classpath。faint。
      

  3.   

    考!看了不爽,sun那边水平挺高的,去呀
      

  4.   

    applet 不是用来搞你这个东东的,
    APPLET 的用处接受或发送持续的信息,比如股票甚麽的,
    且IE的JVM是1.1.4