1

我想通过使用服务器端 javascript 来获取任何网站的 HTML 代码/数据。我怎样才能做到这一点?

PS:我需要这个,因为由于相同的来源策略,我无法从客户端 javascript 执行外部域的 XMLHttpRequest。

4

2 回答 2

5

这是一个 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/

于 2013-02-07T14:08:08.007 回答
1

这里描述的问答方式少一点。正如 Sven 建议的那样,它使用提供身份验证、自动重定向等的 Apache HTTP 客户端。

于 2013-02-07T22:24:44.857 回答