2009-07-27 16 views
0

私はBSEINDIA.com(http://www.bseindia.com/stockreach/stockreach.htm?scripcd=532667)という1つのサイトをブラウズしていましたが、引用をクリックすると、Ajaxリクエストを発して、選択した株式の価格を取得したようです。私はこの要求を分けて別々に発射しようとしましたが、うまくいかないようです。これはどのように機能しますか?

私は同じページ(http://www.bseindia.com/stockreach/stockreach.htm?scripcd=532667)のHTMLからコードをコピーしました これはうまくいかない理由は何ですか、何か認証が行われています、私はこのサイトのメンバーでもありませんか?次

は私が

<script type="text/javascript"> 

var oHTTP=getHTTPObject(); 
var seconds = Math.random().toString(16).substring(2); 

if(oHTTP) 
{ 
    oHTTP.open("GET","http://www.bseindia.com/DotNetStockReachs/DetailedStockReach.aspx?GUID="+seconds+"&scripcd=532667",true); 
    oHTTP.onreadystatechange=AJAXRes; 
    oHTTP.send(null); 
} 

function AJAXRes() 
{ 
    if(oHTTP.readyState==4)alert(oHTTP.responseText); 
} 

function getHTTPObject(){var obj; 
try{obj=new ActiveXObject("Msxml2.XMLHTTP");} 
catch(e){try{ 
obj=new ActiveXObject("Microsoft.XMLHTTP");} 
catch(e1){obj=null;}} 
if(!obj&& typeof XMLHttpRequest!='undefined'){ 
try{obj=new XMLHttpRequest();} 
catch(e){obj=false;}}return obj;} 



</script> 

はここに私の答えを見つけたやろうとしていますものです http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.referer%28VS.71%29.aspx

答えて

2

実際、かなり簡単です。 HTTPリクエストを送信すると、Referrerというヘッダーがリクエストとともに送信されます。 Referrerは、基本的にリクエストを開始したページのURLです。

BSEINDIAは、Referrerの値をチェックして、要求がサイトから送信されていることを確認します。存在する場合は、データを送信します。そうでなければ、404ページを送信します。

ブラウザでReferrerを無効にすると、簡単にその理論をテストできます。 Firefoxでは、about:configと入力し、network.http.sendRefererHeader0に設定すると、これを行うことができます。

まだデータを取得したい場合は、適切なReferrerでリクエストして結果を出力するスクリプト(PHPまたは別の言語で)を書く必要があります。

+0

FFでこの拡張機能を使ってリファラーを偽装する価値があるかもしれませんhttps://addons.mozilla.org/en-US/firefox/addon/4513 – Osseta

+0

パーフェクトですが、これは私がこれを自動化することはできません:( – rsapru

+0

ありがとう、私はそれを行う方法を見つけたhttp://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.referer%28VS.71%29.aspx – rsapru

0

自分自身を保存するために必要なファイル/データにアクセスするための場所でIP制限のいくつかのフォームがあるかもしれませんサードパーティのスクリプトから、独自のスクリプトを使用してデータにアクセスします。それは私がやることだよ。

+2

ブラウザから発せられたAJAXリクエストはあなたのIPを発信元として持つでしょうか? – thedz

+0

それはもちろんですが、相手側のサーバー側のファイルはどうでしょうか? – Christian

0

おそらくHttp Referrer。著作権の制限を守らないようにしてください。

関連する問題