@Nazarii said in Не работает страница входа:
Работаем над этим
Запускаю чекинг фрии проксей на ноде 18.
Вот какие npm пакеты стоят :

После запуска кубика NodeJS . кубик работает меньше секунды и в переменой [[SAVED_CONTENT_GOOD_PROXYS]] по итогу unefined. Ну не может же прокси чекер на 300 проксей отработать меньше секунды, значит он и не начинает проверять прокси) .
Хоть прокся чекеру скармливаю через список [[SAVED_CONTENT]] , хоть в виде списка прям в коде - эффект один , кубик работает меньше секунды! Даже ошибки ни какие в логе не выдаёт.
Проксей для примера здесь мало в коде отобразил, в по факту их более 300 шт.
Где косяк?
Код чекера на NodeJS 18
const http = require('http');
const HttpProxyAgent = require('http-proxy-agent');
const axios = require('axios');
// const SAVED_CONTENT = [[SAVED_CONTENT]];
const SAVED_CONTENT = ["190.5.77.211:80","142.11.222.22:80","45.136.58.22:8888","72.170.220.17:8080","47.244.32.96:80"];
const testUrl = 'http://www.google.com'; // Replace with the URL you want to test
const timeout = 1000; // Timeout for the proxy check in milliseconds
const goodProxys = [];
async function checkProxies(proxies) {
const promises = proxies.map(proxy => {
return new Promise(async resolve => {
try {
const response = await axios.get(testUrl, {
proxy: {
host: proxy.split(':')[0],
port: parseInt(proxy.split(':')[1], 10)
},
timeout: timeout
});
if (response.status === 200) {
// console.log(`Good proxy: ${proxy}`);
goodProxys.push(proxy);
}
} catch (error) {
// console.log(`Bad proxy: ${proxy}`);
}
resolve();
});
});
await Promise.all(promises);
// console.log('\nAll proxies checked.');
// console.log('Good proxies:', goodProxys);
[[SAVED_CONTENT_GOOD_PROXYS]] = goodProxys;
}
checkProxies(SAVED_CONTENT);
Сделай свой npm пакет, напиши к нему небольшой тест, где проверяешь, что прокси действительно проверяются.
Что-то вроде:
const assert = require('assert');
const sinon = require('sinon');
const axios = require('axios');
const checkProxies = require('./your-file-name.js');
describe('checkProxies', () => {
let axiosGetStub;
beforeEach(() => {
axiosGetStub = sinon.stub(axios, 'get');
});
afterEach(() => {
axiosGetStub.restore();
});
it('should add good proxies to the goodProxys array', async () => {
axiosGetStub.resolves({ status: 200 });
const proxies = ['1.2.3.4:80', '5.6.7.8:8080', '9.10.11.12:8888'];
const goodProxys = [];
await checkProxies(proxies, goodProxys);
assert.deepStrictEqual(goodProxys, proxies);
});
it('should not add bad proxies to the goodProxys array', async () => {
axiosGetStub.rejects(new Error('Connection error'));
const proxies = ['1.2.3.4:80', '5.6.7.8:8080', '9.10.11.12:8888'];
const goodProxys = [];
await checkProxies(proxies, goodProxys);
assert.deepStrictEqual(goodProxys, []);
});
});