Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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
Javascript 为什么我在尝试发布请求(表单)时出错?_Javascript_Node.js_Request_Cloudflare_Csrf Token - Fatal编程技术网

Javascript 为什么我在尝试发布请求(表单)时出错?

Javascript 为什么我在尝试发布请求(表单)时出错?,javascript,node.js,request,cloudflare,csrf-token,Javascript,Node.js,Request,Cloudflare,Csrf Token,Thx需提前回答,代码如下: const request = require('request'); const cheerio = require('cheerio'); const url = 'https://gamehag.com/api/v1/register'; let csrfToken; const form = { name: 'nic0l4s171', email: 'nic0l4s171@gmail.com', password: 'nic0l4s

Thx需提前回答,代码如下:

const request = require('request');
const cheerio = require('cheerio');
const url = 'https://gamehag.com/api/v1/register';
let csrfToken;

const form = {
    name: 'nic0l4s171',
    email: 'nic0l4s171@gmail.com',
    password: 'nic0l4s171'
};

request('https://gamehag.com/', (err, res, body) => {
    if(err) return console.error(err);

    let $ = cheerio.load(body);

    csrfToken = $('meta[name=csrf-token]').attr('content');

    const headers = {
        'User-Agent': 'user-agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'x-csrf-token' : csrfToken
    };

    request.post({url, form, headers}, (err, res, body) => {
        console.log(body);
    });
});
这是我在尝试执行代码时遇到的错误:“错误代码:1010”
我想,这个代码块可以帮助您

        var request = require('request');
        var options = {
            'method': 'POST',
            'url': 'https://gamehag.com/api/v1/register',
            'headers': {
               'x-csrf-token': 'roglJups3F9dF3FpOntpwDYqq7UFJQU4BOAaYX3z',
               'Content-Type': 'application/x-www-form-urlencoded'
        },
        form: {
            'name': 'nic0l4s171',
            'email': 'nic0l4s171@gmail.com',
            'password': 'nic0l4s171'
        }
     };
    request(options, function (error, response) {
        if (error) throw new Error(error);
        console.log(response.body);
    });

请详细说明您的问题。你试了什么?哪一行代码导致错误?错误不是来自nodeJS,而是来自服务器。代码行是“console.log(body);”,正如我所说的,服务器返回我这个(err),而不是在一切正常时返回一些内容^^^看起来您返回了HTTP 403错误(禁止),但不确定原因。我在
gamehag.com
页面上找不到API文档,你有链接吗?我不知道gamehag.com请求应该是什么样子。但是我认为主体不包含元属性。尝试将
csrfToken
打印到控制台。如果为空,则需要从
res
读取标题。服务器会检查您是否有有效的用户代理。如果包含有效的,错误将消失(
user-agent:Mozilla…
无效,应该是
Mozilla…
)似乎正在控制台中工作。然而,当它试图通过有问题的网站连接时,它说没有这样的用户。。。为什么?