アプリ版:「スタンプのみでお礼する」機能のリリースについて

今javascriptをやっています。
javascriptで指定したサイトのソースコードが読み込めないものかを試しているのですけど、やりかたが全然わかりません。

普通のWEBページで右クリックをして「ソースの表示」って出るじゃないですか、その内容をそのまま取得できれば良いのです。

とりあえず「Yahoo!JAPAN」のトップページのソースコードを取得できれば良いのです。

・ソースコードの取得がjavascriptで出来るのか出来ないのか。
・出来るならどのようなプログラムを書けばよいのか。
・出来ないのならば他に出来るプログラミング言語は何か。

と言う質問に分かる部分だけ答えてくださればありがたいです。

よろしくお願いします。

A 回答 (3件)

もしあなたがお使いのPCがWindowsで単純にサイトのソースを取得したいだけというならば、以下のスクリプトを test.js などのファイル名で保存してダブルクリックすれば取得できます。



var xml2 = new ActiveXObject("MSXML2.XMLHTTP");
xml2.Open("GET", "http://www.yahoo.co.jp/", "False");
xml2.send();
WScript.Echo(xml2.responseText);

これは WSH と呼ばれるものです。

もしあなたが、このスクリプトをインターネット上にHTMLファイルとして公開して、その上で同じことをしたいのならばNo1さんの言う通り、できません。
    • good
    • 1
この回答へのお礼

回答ありがとうございました。
インターネット上にHTMLファイルとして公開することは、何か法律に触れるということでしょうか?

お礼日時:2011/02/16 20:00

No.2です。



≫インターネット上にHTMLファイルとして公開することは、何か法律に触れるということでしょうか?

法律は関係ありません。
ブラウザの仕様と言えばいいのでしょうか。

例えばあなたのページでJavaScriptを使って銀行のサイトのソースを取ってきて、あたかも銀行のサイトになりすますことができたならば、アクセスしてきた人は勘違いしてログインIDとパスワードを入力するかもしれません。
そうするとあなたはその人のアカウントを盗むことができるわけです。

なのでブラウザで実行するJavaScriptは他のサイトにアクセスできないように制限されています。
同じドメイン上であればアクセスできます。

実際に試してみるとよくわかると思います。
    • good
    • 0
この回答へのお礼

詳しい回答ありがとうございました。
凄く参考になりました。

お礼日時:2011/02/24 00:09

> ・ソースコードの取得がjavascriptで出来るのか出来ないのか。



「ソースコードの取得」はできますが、「「Yahoo!JAPAN」のトップページのソースコードを取得」は出来ません。

JavaScriptでは、セキュリティの観点から「クロスドメイン制限」といって、
JavaScriptを動かしているぺージとは別ドメインのデータを取得することはできないようになっています。
そのため、Yahoo!JAPAN以外のページで動かしているJavaScriptからは、Yahoo!JAPANのページ取得は出来ないのです。

> ・出来ないのならば他に出来るプログラミング言語は何か。

クライアント(ブラウザ)側ではなく、
PHPもしくはCGI(PerlやRubyなど)を使ってサーバ側でデータ取得処理をすれば実現可能です。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
クロスドメイン制限と言うのがあるのですね。なるほど、分かりました。
PHPもCGIもやっているのでそっちを試してみようと思います。

お礼日時:2011/02/16 19:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!