Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 购买脚本/SneakerBot-使用WebSocket_Python_Performance_Websocket_Httprequest_Headless Browser - Fatal编程技术网

Python 购买脚本/SneakerBot-使用WebSocket

Python 购买脚本/SneakerBot-使用WebSocket,python,performance,websocket,httprequest,headless-browser,Python,Performance,Websocket,Httprequest,Headless Browser,我正在尝试制作一个bot/脚本,以在Rollbit上以很好的价格收回CSGO皮肤,但是我当前的解决方案太慢了 我不太熟悉WebSocket和非常高效的代码或高效的编程语言。我最初的想法是使用自定义的Chrome扩展将脚本注入客户端浏览器,这样我就不必每次使用它时都手动注入脚本。我已找到WebSocket连接并尝试了以下代码: const ws = new WebSocket('wss://ws.rollbit.com/'); ws.onmessage = function (e) { v

我正在尝试制作一个bot/脚本,以在Rollbit上以很好的价格收回CSGO皮肤,但是我当前的解决方案太慢了

我不太熟悉WebSocket和非常高效的代码或高效的编程语言。我最初的想法是使用自定义的Chrome扩展将脚本注入客户端浏览器,这样我就不必每次使用它时都手动注入脚本。我已找到WebSocket连接并尝试了以下代码:

const ws = new WebSocket('wss://ws.rollbit.com/');


ws.onmessage = function (e) {
  var response = JSON.parse(e.data);
  if (response[0] == "steam/market") {
    var listing = response[1];
    var ref = listing.ref;
    var state = listing.state
    var price = listing.price;
    var markup = listing.markup;
    var item = listing.items[0];
    var name = item.name;

    if (listing.state == "listed" && listing.markup == 0 && listing.price > 50) {
      var xhr = new XMLHttpRequest();
      xhr.withCredentials = true;
      xhr.addEventListener("readystatechange", function() {
        if(this.readyState === 4) {
          console.log(this.responseText);
        }
      });
      xhr.open("POST", "https://api.rollbit.com/steam/withdraw");
      xhr.setRequestHeader("authority", "api.rollbit.com");
      xhr.setRequestHeader("accept", "application/json, text/*");
      xhr.setRequestHeader("content-type", "application/json; charset=UTF-8");
      xhr.setRequestHeader("accept-language", "en-US,en;q=0.9");
      xhr.send("{\"refs\":[\"" + response[1].ref + "\"]}");
    }
  }
}
如果我输入一个现有列表的ref,则此代码可以工作,但是当我看到一个新列表时,我想购买它,我从POST请求中得到以下响应:

{"success":false,"error":"Items unavailable"}
因为有人创建请求的速度比我当前的脚本快。我知道这段代码不是100%优化的,但是我开始认为有更好更快的方法。我目前的解决方案是否有一些明显的性能提升,或者您对如何检测新列表并将POST请求更快地发送到服务器有什么建议

我的下一个方法是尝试使用Python,也许还有一个无头浏览器,但这对我来说是一个非常陌生的领域,所以这就是我在这里寻求建议的原因。也许你们中有人做过类似的事情,可以给我指出正确的方向。非常感谢您的帮助