サーバー側の JavaScript を使用して、任意の Web サイトの HTML コード/データを取得したいと考えています。どうすればこれを達成できますか?
PS: クライアント側の JavaScript からは、同じオリジン ポリシーのために外部ドメインの XMLHttpRequest を実行できないため、これが必要です。
サーバー側の JavaScript を使用して、任意の Web サイトの 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/ を使用することです。
少し少ない Q&D の方法については、こちらで説明しています。Sven が提案したように、認証、自動リダイレクトなどを提供する Apache HTTP クライアントを使用します。