2017-01-07 5 views
0

オンラインゲームの仮想アイテムを扱うウェブサイトがあります。私はそのウェブサイト上のいくつかのアクションを自動化するクロムエクステンションを作りました。私はこれを私のラズベリーPyで実行したいので(拡張子があまりにも遅く、不安定なように見える)、これをnode.jsに移動しようとしています。node.jsからPOSTを送信する - ウェブサイトはどのように私を識別しますか?

ウェブサイトのログインはSteam OpenIDで動作します。リストから項目を選択し、いくつかのボタンをクリックすると、スチームで取引をします。

私のそこにログインしている間、私の拡張機能はウェブサイトで動作します。 jQuery getJSONを使用してデータベースを受け取り、配列をループし、配列にいくつかの値をプッシュし、ウェブサイトに私がどのアイテムを必要としているか、そしてどのアイテムを提供しているかをポストリクエストとして送信します。ここで

は私がChromeからのリクエストを送信しています方法です:

function withdrawXHR(botId, playerItems, botItems) { 

    $.ajax({ 
     url: websiteURL, 
     type: 'post', 
     data: { 
      "steamid": botId, 
      "peopleItems": playerItems, 
      "botItems": botItems 
     }, 
     success: function (data) { 
      console.error('>> Done: ' + data) 
      console.log("") 

     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown) { 
      console.error('>> Error: ' + errorThrown) 
      console.log("") 

     } 
    }); 

} 

私はこれまでのところ、私は必要な値を除外し、それを介して働いて、自分のデータベースを受け取るようにノードですべてを行うことができますが、私ができます」作業要求を送信することを管理する。問題は多分ログイン/私が誰であるかをウェブサイトがどのように知っているかです。

私はwrapAPI(クロムエクステンション)を使用して、ウェブサイトで手動で作業しているときに送信されているリクエストをキャッチしました。ここでは、次のようになります。

Request

したがって、これらは私が疑問に思ってのものです:

  • 私はノードからこの要求を送るだろうか?

  • 私のウェブサイトはどのようにしてわかりますか?彼らは私にオファーを送っているので、明らかに知っていますが、そのリクエストには「個人的な」データはありません。

  • 何らかの方法でNodeからSteam OpenIdにログインする必要がありますか?それは可能ですか?

  • CF-RAYとは何ですか? (キャプチャされた要求の最後を参照してください)。

私はJSの方が新しく、一般的にリクエストしていますし、Node.jsにも "新しい"リクエストです。私は要求を送信する背景がどのように機能するのか完全に理解していません。私はちょうどいくつかのヒント、ここで私の目標を達成する方法のアイデアが必要になります。

すべてのヘルプは大歓迎です!ありがとうございました! :)

答えて

1

ドメイン間のリソースに対してXMLHttpRequestを使用することはできません。 (ちなみに、あなたが内線番号を使用していない限り)

私はexpress.jsとCORSというものをつかむことにします。 CORSはクロスドメイン要求を許可します。ここで

http://enable-cors.org/server_expressjs.html

そして、ここでのブラウザ拡張でXHRリクエストにいくつかの情報がある:https://developer.chrome.com/extensions

+0

私はあなたがここで私が間違ってましたと思います。拡張機能はウェブサイト上でのみ実行されていたため、クロスドメイン要求はありません。拡張も完璧に機能しました。私が達成しようとしているのは、拡張機能を取り除き、すべてのアクションをNode.JSに移動することです。これがうまくいくためには、要求と一緒に送信されたクッキーのようなものを見ることができないので、Nodeからウェブサイトで自分自身を識別する方法を見つける必要があります。リンクのためにありがとう、それを読んで、私はそれを使用することができます参照してください! :) –

+1

ヘッダーを追加していますか? –

+0

これまでのところ - いいえ。一番上の短いコードは、私がchromeからリクエストを送信するために使用したものです。ヘッダーはクロムそのもので作られていたと思います。ノードからリクエストを送信する場合は、これらのヘッダーをすべて手動で追加する必要がありますか?もしそうなら、私はイメージに添付されたサンプル要求のヘッダーで自分自身を識別するために使用される情報を見ることができません。 –

関連する問題