使用params发送凭据 - PUT -Firefox

时间:2018-05-15 08:19:52

标签: javascript xmlhttprequest firefox-webextensions

我登录沃尔玛的网站,我有一个购物车。当我将商品添加到购物车时,我会发出PUT请求

PUT请求图片 - https://i.imgur.com/f9lWqbC.png

就这样,我将一个项目添加到我的购物车中。

现在,要点到这篇文章。我正在为Firefox编写扩展,主要是content_script。脚本的主要功能是发出相同的请求,就像我点击沃尔玛页面上的Add to cart按钮一样,但我不知道如何发送可在请求标题中找到的所有凭据。

显然,我有权发送正确的请求,但这只是点击按钮,我的目标是通过我的扩展程序通过content_script(或后台脚本)发送。

content_script.js

(function(){
    var params = {"cartItems":[{"offerId":"8E5AE39B44CD467DAC4AAA3A0042110F","quantity":3}]}
    var xhttp = new XMLHttpRequest();   
    xhttp.onreadystatechange = function() {

        if (this.readyState == 4 && this.status == 200) {
            // Typical action to be performed when the document is ready:

            var res = JSON.parse(xhttp.responseText);

            console.log(res);
        }
    };
    xhttp.open("PUT", "https://grocery.walmart.com/api/v3/cart/:GCRT/items", true);
    xhttp.withCredentials = true;
    xhttp.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    xhttp.send(JSON.stringify(params));

})();

正如您所看到的,我将xhttp.withCredentials设置为true,但这不起作用,因为我的控制台上没有任何内容。

正确的问题是:如何向沃尔玛证明此请求仍来自我的电脑和我的帐户?

1 个答案:

答案 0 :(得分:0)

尝试发送该图片中包含的更多标题,但我仍然认为您不能发送cookie键值对,因为XMLHttpRequest禁止它。