У меня есть внешний интерфейс, размещенный на моем локальном хосте. Как только пользователь заполняет все данные в этом интерфейсе, он нажимает кнопку, которая затем запускает функцию startBot (), которая использует ax ios. Если я просто запускаю startBot, используя командную строку, а не сервер, скрипт работает отлично, но когда я использую функцию с сервера, ax ios использует данные моего браузера для отправки информации. Вот мой код: это функция, которая запускается, когда пользователь нажимает кнопку для запуска startBot ():
const lodash = require('lodash');
const fuzzyset = require('fuzzyset.js');
var helperFunctions = require("./helperFunctions");
const DELAY = 1500;
const getSupremeProducts = async () => {
let supremeHome = `?p=${new Date().getTime()}`;
await helperFunctions.redirectTo(
supremeHome,
DELAY,
"Successfully connected to Supreme!",
"Error accessing Supreme site, retrying...");
// direct link to the backend of the site
let backendLink = "/mobile_stock.json";
const products = await helperFunctions.redirectTo(
backendLink,
DELAY,
"Successfully connected to backend!",
"Error accessing Supreme site, retrying...");
return products.data;
}
Вот файл helperFunctions:
const axios = require("axios");
const cheerio = require("cheerio");
const qs = require('qs');
// constants
const RETRY_DELAY = 1000;
axios.defaults.withCredentials = true;
// creating a simple axios session so all cookies are stored throughout the checkout process
const session = axios.create({
baseURL: `https://www.supremenewyork.com`,
headers: {
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1',
'x-requested-with': 'XMLHttpRequest',
'Connection': 'keep-alive'
}
});
// timer function for delays
const timer = ms => new Promise( res => setTimeout(res, ms));
// function for simple get requests
const redirectTo = async (redirectLink, delay, successfullMessage, errorMessage) => {
while(true){
try{
const getRedirect = await session.get(redirectLink);
if(getRedirect.status === 200){
if(successfullMessage != null){
console.log(successfullMessage);
}
await timer(delay);
return getRedirect;
}
else {
console.log(errorMessage)
await timer(delay);
}
}
catch(err){
console.log(err);
await timer(delay);
}
}
}
Теперь, когда я запускаю getSupremeProducts () в терминале без сервера, он прекрасно работает, но при запуске с внешнего интерфейса он все портит (кстати, я использую webpack, поэтому я могу запустить скрипт модуля узла из html) и вызывает эту ошибку:
Любая помощь с благодарностью! Мне просто нужно выяснить, как запустить этот код из внешнего интерфейса, но пусть ax ios не использует данные сервера для запуска кода.