2011-09-12 7 views
1

私は、サイトの訪問者がアップデートボタンを押すたびに、ゲームの統計情報が収集されるサイトのメンバーです。私はこれを自動的に1日に1回実行したいと思います。 http://bfbc2.statsverse.com/stats/ps3/ChiefOfVikings/action = cronjobを介してサーバーにupdatenowを送信しますか?

トリッキーな部分は、更新はJavaScriptによってトリガーされていること、である..しかし、私の知る限り、javascriptのはわずかです:これは

ページがある... cronジョブによって可能でなければなりませんこの:

$.ajax(
    { 
    type:"POST", 
    data: { action: "updatenow" }, 
    }) 
} 

(ただしわからない)

cronjobを使って1日に1回自動的にトリガされるアップデートの方法は誰にでも見つかりますか?

+0

一般に、同じマシン上でcronジョブを実行し、Webサーバーへの要求ではなくローカルでジョブを実行します。 – meagar

答えて

0

curlでこれを行うことができます。 Curlでは、ブラウザのアクションを模倣するURL GETとPOSTを構築できます(他のHTTPタイプもサポートされています)。オプションは

  • -L =従うリダイレクト(HTTP 301または302)
  • -i =あるサーバから返されたHTTPヘッダーを含める

    curl -L -i -v -c sitecookie.txt -b sitecookie.txt -d action=updatenow http://bfbc2.statsverse.com/stats/ps3/ChiefOfVikings/ 
    

    :あなたはに似た何かをすることによって、カール作業を得ることができます出力で

  • -v =冗長な
  • -c sitecookie.txt = siにCookieを書き込むtecookie.txt
  • -b sitecookie.txt = URLに
  • -d action=updatenow = HTTP POSTアクション= URLにupdatenow

データを送信するときに、サーバー場合にも-kを必要とするかもしれないsitecookie.txtからCookieを読み取りますHTTPSで暗号化されています。その他のオプションとドキュメントについては、curl manpageを参照してください。

POSTするURLは、ajaxが送信するURLである必要があります。

これをコマンドラインから実行したら、それをスクリプトに入れ、毎日cronjobからスクリプトを実行します。

+0

スクリプトはページを取得しますが、更新の待ち時間にプレーヤーを追加することはありません。実際には何も起こりません。多分私は何か見落としてしまったでしょうか? [link] http://bfbc2.statsverse.com/stats/ps3/ChiefOfVikings/ [/ link] – phpNoobish

+0

これはPOSTの正しいURLではないか、action = updatenowと共に送信する必要がある他のフィールドがあります。 firefoxのIEやtamperdataのためにfiddlerを試して、Ajaxのポストが何をしているのかを見て、それをコピーしてください – ghostJago

関連する問題