我想通过使用服务器端 javascript 来获取任何网站的 HTML 代码/数据。我怎样才能做到这一点?
PS:我需要这个,因为由于相同的来源策略,我无法从客户端 javascript 执行外部域的 XMLHttpRequest。
我想通过使用服务器端 javascript 来获取任何网站的 HTML 代码/数据。我怎样才能做到这一点?
PS:我需要这个,因为由于相同的来源策略,我无法从客户端 javascript 执行外部域的 XMLHttpRequest。
这是一个 Quick-n-Dirty 解决方案:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:label id="labelURL">
<xp:this.value>
<![CDATA[#{javascript:
var url:java.net.URL = new java.net.URL("http://google.com");
url.openConnection();
var is:java.io.InputStream = url.openStream();
var c;
var result = "";
while( (c = is.read()) != (-1) ){
result += @Char(c);
}
is.close();
result
}]]>
</xp:this.value>
</xp:label>
</xp:view>
访问远程 URL 的更好解决方案是使用http://hc.apache.org/httpclient-3.x/
这里描述的问答方式少一点。正如 Sven 建议的那样,它使用提供身份验证、自动重定向等的 Apache HTTP 客户端。