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?
在网上访问一个链接时,往往会被引导到其他的地址上,比如用户没有注册,在进行交易的时候,会被引导到登录或注册页面上去。我希望能够在客户端通过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?
你愿意用便想办法吧
我一个问题问了两遍,kao,半天没人理我。
整个版面问的最多的就是classpath。faint。
APPLET 的用处接受或发送持续的信息,比如股票甚麽的,
且IE的JVM是1.1.4