0

私のウェブサイトのユーザーは、にURL(別のドメインの公開ページ)を入力しますtextbox。そのページのHTMLソースコードを文字列として取得したい。クライアント側のスクリプトを使用してこれを行う方法は?

以下は私がURLをロードするためにしたことです。しかし、htmlをフェッチする方法を理解することはできません。

<!DOCTYPE html>
<head>
<script>
function myFunction()
{
document.getElementById("site").src=document.getElementById("web").value;
}
</script>
</head>
<body> 
<input id="web" type="text" name="user">
<input type="submit" value="Submit"  onclick="myFunction()"> <br/>
<iframe id="site" src="" width="1200" height="1200"></iframe>

</body>
</html>
4

2 に答える 2

3

サーバー上にスクリプトを作成し、AJAX を使用して呼び出し、次cURLのように使用します。

 $ch = curl_init();
 $timeout = 10;
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

 $data = curl_exec($ch);

 curl_close($ch);

$data、中身が入ります。

于 2013-02-08T19:00:00.743 に答える
2

残念ながら、あなたのウェブサイトの JavaScript は、 Same Origin Policyにより、他のウェブサイトのソース コードにアクセスできません。これは、クロス サイト スクリプティング攻撃を防ぐためです。たとえば、ユーザーが自分の電子メール アカウントにログインしている場合、同じオリジン ポリシーにより、同じブラウザで開いている他の Web サイトが電子メールにアクセスしようとするのを防ぐことができます。

あなたの最善の策は次のとおりです。

  • AJAX 経由でアプリケーション サーバーに URL を送信します。
  • アプリケーション サーバーから HTTP GET を実行します (Java / PHP など)。
  • 他の Web サイトのテキストを使用して AJAX 要求に応答する
  • 次に、ソースコードをユーザーに表示します
于 2013-02-08T19:09:01.693 に答える