gpt4 book ai didi

java - 使用 Java 小程序获取页面的 html 源代码

转载 作者:行者123 更新时间:2023-12-01 14:52:49 25 4
gpt4 key购买 nike

我知道在 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 源;这就是我问的原因。

最佳答案

AppletContext.showDocument 在浏览器中打开一个页面,就像 HTML 中的超链接或 JavaScript 中的类似调用一样。根据同源政策,如果该页面来自不同的站点,即使该页面位于 iframe 中,您也将无权访问该页面。

某些网站可能有一个 crossdomain.xml 策略文件,如果您直接读取 java.net.URL 的内容,则允许访问。但是,www.google.com 似乎使用了一种受限制的形式,我认为 Java 插件目前不支持该形式。

有人可能会建议对您的小程序进行签名,这会关闭 Java 的“沙箱”安全功能。然后,您需要说服您的用户相信您发布安全签名代码的能力。

关于java - 使用 Java 小程序获取页面的 html 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com