2017-01-07 54 views
0

有一個網站可以與在線遊戲的虛擬物品一起使用。我製作了一個Chrome擴展程序,可以自動執行該網站上的一些操作。由於我想使我的raspberryPi(和擴展鉻看起來太慢,效率不高)運行這個我試圖把它移到node.js.從node.js發送POST - 網站如何識別我?

該網站的登錄與Steam OpenID一起使用。它允許你從列表中選擇項目,點擊幾個按鈕,然後它發送一個蒸汽交易。

我的擴展與我登錄網站時一起工作。它使用jQuery getJSON接收數據庫,遍歷數組,將一些值推入數組,然後發送一個post請求,告訴網站我想要的項目以及我提供的項目。

這裏是我要打發從鍍鉻的要求:

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的網站來識別我自己,因爲我看不到任何cookie與請求一起傳輸。非常感謝鏈接,將通讀並看看我是否可以使用它! :) –

+1

你正在添加標題? –

+0

到目前爲止 - 沒有。頂部的一小段代碼是我用來從chrome發送請求的。我想,這個頭文件是由chrome本身完成的。如果我從節點發送請求,是否需要手動添加所有這些標頭?如果是這樣 - 我看不到任何用於在圖像附加示例請求標題中標識自己的信息。 –