0

Python のようなスクリプト言語ではこれが可能であることは知っていますが、Java アプレットは自身のサーバー以外のサーバーにアクセスできないことは知っています。

このアプレットに署名してもらえるかどうかわかりません。PHP を使用して達成したいことを行う方法はありますか?

また、このコードが google.com にアクセスすることも知っています。

import java.applet.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;

public class tesURL extends Applet implements ActionListener{

  public void init(){
  String link_Text = "google";
  Button b = new Button(link_Text);
  b.addActionListener(this);
  add(b);
  }

  public void actionPerformed(ActionEvent ae){
  //get the button label
  Button source = (Button)ae.getSource();

  String link = "http://www."+source.getLabel()+".com";
  try
  {
  AppletContext a = getAppletContext();
  URL u = new URL(link);
//  a.showDocument(u,"_blank");
//  _blank to open page in new window  
  a.showDocument(u,"_self");
  }
  catch (MalformedURLException e){
  System.out.println(e.getMessage());
  }
  }
}

これは、source.getLabel() が「google」であると仮定しています。

しかし、そのページのソース html を取得するにはどうすればよいでしょうか?

ソース html は動的で、数秒または数ミリ秒ごとに更新されます。ただし、html も更新されているため、動的コンテンツを html から直接読み取ることができます。私はすでに vb.net でこれを行っていますが、Java に移植する必要がありますが、ページの html ソースにアクセスする方法がわかりません。それが私が尋ねる理由です。

4

1 に答える 1

1

AppletContext.showDocumentHTML のハイパーリンクや JavaScript の同様の呼び出しと同じように、ブラウザーでページを開きます。同じオリジン ポリシーの下では、ページが iframe 内にある場合でも、別のサイトからこのページにアクセスすることはできません。

一部のサイトには、コンテンツを直接crossdomain.xml読み取る場合にアクセスを許可するポリシー ファイルが含まれている場合があります。java.net.URLしかし、www.google.com は、Java PlugIn で現在サポートされているとは思えない制限付きのフォームを使用しているようです。

Java の「サンドボックス」セキュリティ機能をオフにするアプレットに署名することを提案する人がいるでしょう。次に、安全な署名付きコードを公開する能力を信頼するようにユーザーを説得する必要があります。

于 2013-02-03T22:00:27.973 に答える