2017-03-09 10 views
0

JavaScriptを使用してリモートWebサイトにアクセス可能かどうかを確認します。クロスオリジン・リクエストがブロックされているようJavaScriptでリモートWebサイトにアクセスできるかどうか確認してください

<button onclick="check()">check</button> 

<script> 
function check(ip) 
{ 
    var xhr = new XMLHttpRequest(); 
    var target = "https://letsencrypt.org/"; 
    var rndNum = Math.round(Math.random() * 10000); 

    xhr.open('HEAD', target + "?rand=" + rndNum, true); 
    xhr.send(); 

    xhr.addEventListener("readystatechange", processRequest, false); 

    function processRequest(e) 
    { 
     if (xhr.readyState == 4) 
     { 
     if (xhr.status >= 200 && xhr.status < 304) 
     { 
      alert('up'); 
     } 
     else 
     { 
      alert('down'); 
     } 
     } 
    } 
} 
</script> 

このコードは、しかし、唯一のローカルtarget秒間動作します。コードは、ボタンはJavaScriptコンソールログをクリックしたときに、hereを実行してすることができます。

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://letsencrypt.org/?rand=6236. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). (unknown) 

私はこれも同様に何らかの方法でリモートアドレスを扱うことになっていることを読んだと信じています。

一般的に、Webサーバーが応答すると、到達可能とカウントされます。404戻りコードでも、Webサーバーが起動して応答しています。特定のリソースが停止しています。

私の機能を変更して、リモートアドレスの接続性をチェックするにはどうすればよいですか?

+1

アクセスしようとしているリモートWebサイトにアクセスするには 'Access-Control-Allow-Origin:*'が必要です(ドメインをホワイトリストに登録する) – Raymond

+0

また、リモートサーバが 'Access-Control-Allow-Origin:*'(またはホワイトリスト)を持っている場合、この機能はうまくいくはずですので、 – paqash

+0

@Raymondですか? @paqashはい、ありがとう!私はそれを並べ替える必要があります! – MikeDyson

答えて

1

ウェブサイトにXMLリクエストを行うには、Access-Control-Allow-Origin: */or your domainが他のサイトでは機能しないことを確認してください。

関連する問題