Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Von Script geöffneten Tab schließen?
#37
(14.07.2022, 13:58)admin schrieb: Ich werde mir das auch mal genauer anschauen. Hatte die letzten Tage etwas wenig Zeit , werde aber Bescheid sagen sobald ich was erreicht habe

Ich habe mich, wie immer -.-, mal wieder zu früh gefreut.

Die für den Ajax Call nötigen Ids abzugreifen ist kein Problem.

Aber der Ajax Call an sich klappt nicht.

Wird er im Rahmen des Tampermonkeyscripts gemacht, scheitert er mit einem "CSRF Token mismatch." Error.

Schriebe ich den haargenau gleichen Ajax Call in die Konsole, funktioniert er eindeutig.

Also so langsam blicke ich bei diesem Javascript Scheiß nicht mehr durch,
man will mich einfach dazu nötigen, händisch Kram in die Konsole einzutippen damit ich es nicht automatisieren kann :-(

Habe auch aus dem Internet einen Code reingebaut der angeblich das nötige CSRF Token abgreifen soll, aber der tut offenbar auch nix.

So sieht aktuell mein Code aus:
Code:
// ==UserScript==
// @name         https://5billionsales.com/data/validate-login/*
// @namespace    https://5billionsales.com/data/validate-login/*
// @version      0.1
// @description  Try to take over the world!
// @author       You
// @match        https://5billionsales.com/data/validate*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
// @run-at       document-idle
// ==/UserScript==

console.log("Script started!");



var string="function ca2(id) {}";
var c_start;
var c_end;


$(document).ready(function(){
    function getCookie(c_name) {
        if(document.cookie.length > 0) {
            c_start = document.cookie.indexOf(c_name + "=");
            if(c_start != -1) {
                c_start = c_start + c_name.length + 1;
                c_end = document.cookie.indexOf(";", c_start);
                if(c_end == -1) c_end = document.cookie.length;
                return unescape(document.cookie.substring(c_start,c_end));
            }
        }
        return "";
    }

    $(function () {
        $.ajaxSetup({
            headers: {
                "X-CSRFToken": getCookie("XSRF-TOKEN")
            }
        });
    });

}());





$(document).ready(function() {


    ca2();

    async function ca2(){
        console.log("ca2 started!");
        //get the 2 ids
        var id1="";
        var id2="";
        var stringa="";

        var ads=document.querySelectorAll("div.card.cursor.mt-3");
        stringa=ads[0].getAttribute('id');
        id1=stringa.substring(3,stringa.length);
        stringa=ads[1].getAttribute('id');
        id2=stringa.substring(3,stringa.length);
        console.log("id1="+id1+" id2="+id2);
        id1=parseInt(id1);
        id2=parseInt(id2);

        ca3(id1);
        await sleep(1000);
        ca3(id2);
        await sleep(1000);
    }


    function ca3(id) {
        console.log("inside ca3 with id="+id);
        $.post('/ajax/ca', {id:id}, function(resp) {
            let d = JSON.parse(resp);
            console.log(resp);
            console.log("");
            console.log("d: "+d+" status: "+d.status+" validated: "+d.validated);
        });
    }




    function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }








}());

Ich habe es nun hoffentlich zum Laufen gebrahct, zumindest der Ajax Call Part scheint nun endlich zu klappen:

Code:
// ==UserScript==
// @name         https://5billionsales.com/data/validate-login/*
// @namespace    https://5billionsales.com/data/validate-login/*
// @version      0.1
// @description  Try to take over the world!
// @author       You
// @match        https://5billionsales.com/data/validate*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
// @run-at       document-idle
// ==/UserScript==

console.log("Script started!");



var string="function ca2(id) {}";
var c_start;
var c_end;


$(document).ready(function(){


    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });




    ca2();


    async function ca2(){
        await sleep(1000);
        console.log("ca2 started!");
        //get the 2 ids
        var id1="";
        var id2="";
        var stringa="";

        var ads=document.querySelectorAll("div.card.cursor.mt-3");
        stringa=ads[0].getAttribute('id');
        id1=stringa.substring(3,stringa.length);
        stringa=ads[1].getAttribute('id');
        id2=stringa.substring(3,stringa.length);
        console.log("id1="+id1+" id2="+id2);
        id1=parseInt(id1);
        id2=parseInt(id2);

        ca3(id1);
        await sleep(1000);
        ca3(id2);
        await sleep(1000);
        logout();
await sleep(1000);



    }

    function logout(){
        location.href="/logout";


    }

    function ca3(id) {
        console.log("inside ca3 with id="+id);
        $.post('/ajax/ca', {id:id}, function(resp) {
            let d = JSON.parse(resp);
            console.log(resp);
            console.log("");
            console.log("d: "+d+" status: "+d.status+" validated: "+d.validated);
        });
    }




    function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }








}());
Zitieren


Nachrichten in diesem Thema
RE: Von Script geöffneten Tab schließen? - von bernd - 16.07.2022, 10:42

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
2 Gast/Gäste