json 如何修复“TypeError:NetworkError when attempting to fetch resource.”当尝试POST(FetchAPI)时

zpf6vheq  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(97)

我正在为Opera GX x Discord促销错误做一个测试,你可以在API中无限地查询硝基兑换代码。它在Incredible和浏览器中进行了测试,但现在我正在编写代码,它会抛出TypeError
当我运行下面的代码时,我希望从Discord服务器输出一个ID。但我得到了TypeError: NetworkError when attempting to fetch resource.。我很困惑,可能会尝试在GitHub Pages上构建它,看看是否会得到不同的结果。

const options = {
    method: 'POST',
    headers: {
      authority: 'api.discord.gx.games',
      accept: '*/*',
      'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8',
      'content-type': 'application/json',
      origin: 'https://www.opera.com',
      referer: 'https://www.opera.com/',
      'sec-ch-ua': '"Opera GX";v="105", "Chromium";v="119", "Not?A_Brand";v="24"',
      'sec-ch-ua-mobile': '?0',
      'sec-ch-ua-platform': '"Windows"',
      'sec-fetch-dest': 'empty',
      'sec-fetch-mode': 'cors',
      'sec-fetch-site': 'cross-site',
      'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0'
    },
    body: '{"partnerUserId":"ada946122c77c8140b396467cd0a3e9644a4ea14611c4ccde4df927504ffc83a"}'
  };
  
var rawData = fetch('https://api.discord.gx.games/v1/direct-fulfillment', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));

var parsedData = JSON.parse(rawData);

var id = parsedData.partnerUserId

var link = "https://discord.com/billing/partner-promotions/1180231712274387115/", id

console.log(id);

字符串
(很抱歉我的代码很乱,对JS来说很陌生)(如果你需要,下面是代码的cURL。

curl 'https://api.discord.gx.games/v1/direct-fulfillment' \
  -H 'authority: api.discord.gx.games' \
  -H 'accept: */*' \
  -H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \
  -H 'content-type: application/json' \
  -H 'origin: https://www.opera.com' \
  -H 'referer: https://www.opera.com/' \
  -H 'sec-ch-ua: "Opera GX";v="105", "Chromium";v="119", "Not?A_Brand";v="24"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: cross-site' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0' \
  --data-raw '{"partnerUserId":"ada946122c77c8140b396467cd0a3e9644a4ea14611c4ccde4df927504ffc83a"}' \
  --compressed

c6ubokkw

c6ubokkw1#

你发布的代码是一个JavaScript脚本,它使用了node-fetchfs(文件系统)模块。下面是它的简要说明:
1.它导入了node-fetch模块,该模块提供了一个发出HTTP请求的函数。该函数类似于浏览器中提供的fetch函数。
1.它设置了一个名为options的对象,其中包含POST请求的详细信息。这包括头部(如'content-type','user-agent'等)和带有JSON字符串的主体。

  • 然后它设置一个间隔,每500毫秒运行一个函数。这个函数执行以下操作:
  • 使用指定选项向“https://api.discord.gx.games/v1/direct-fulfillment”发出POST请求。
  • 当收到响应时,它将响应转换为JSON。
  • 然后,它使用响应JSON中的“token”属性构造一个URL,并将此URL附加到名为“free-nitro-urls.txt”的文件中。
  • 如果在文件操作过程中出现错误,它会抛出错误。否则,它会记录到目前为止保存的URL数量。

请注意,此脚本似乎正在与Discord的API交互。请注意,使用此类脚本可能违反Discord的服务条款,特别是如果它被用于垃圾邮件或其他恶意活动。始终负责任地使用API,并遵守其使用条款。此外,请记住将"your partnerUserId here"替换为您实际的partnerUserId。
代码如下:

import('node-fetch').then(module => {
    const fetch = module.default;
    const fs = require('fs');

    const options = {
        method: 'POST',
        headers: {
            authority: 'api.discord.gx.games',
            accept: '*/*',
            'accept-language': 'pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7',
            'content-type': 'application/json',
            origin: 'https://www.opera.com',
            referer: 'https://www.opera.com/',
            'sec-ch-ua': '"Opera GX";v="105", "Chromium";v="119", "Not?A_Brand";v="24"',
            'sec-ch-ua-mobile': '?0',
            'sec-ch-ua-platform': '"Windows"',
            'sec-fetch-dest': 'empty',
            'sec-fetch-mode': 'cors',
            'sec-fetch-site': 'cross-site',
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0'
        },
        body: `{"partnerUserId":"your partnerUserId here"}`
    };

    let savedURLs = 0;
    setInterval(() => {
        fetch('https://api.discord.gx.games/v1/direct-fulfillment', options)
            .then(response => response.json())
            .then(response => {
                let fullURL = "https://discord.com/billing/partner-promotions/1180231712274387115/"+response.token+"\n";
                fs.appendFile('free-nitro-urls.txt', fullURL, (err) => {
                    if (err) throw err;
                    savedURLs++;
                    console.log(`Saved ${savedURLs} Discord Nitro URLs!`);
                });
            })
            .catch(err => console.error(err));
    }, 500);
});

字符串
(1)github.com. https://github.com/hexuustc/weixin_sport/tree/6b4ab18dc48c9fb97301d2f193746effc4988f74/copy.py .(2)github.com. https://github.com/mjangid-portfolio/COVID19-vaccine-slot-booking/tree/7991c1c82711d21c26b0b02f5e62f1e0e018c77e/controller%2Fcaptcha.js .

相关问题