Javascript Can';不要使用URL中的代理

Javascript Can';不要使用URL中的代理,javascript,node.js,Javascript,Node.js,通过这样做,我可以毫无问题地使用代理 var proxies = fs.readFileSync('proxies.txt', 'utf-8').replace(/\r/gi, '').split('\n'); 但当我这么做的时候 (function scrapeProxies() { request.get('https://mezy.wtf/proxies.txt', (err, res, body) => { proxies = body.split('\n');

通过这样做,我可以毫无问题地使用代理

var proxies = fs.readFileSync('proxies.txt', 'utf-8').replace(/\r/gi, '').split('\n');
但当我这么做的时候

(function scrapeProxies() {
request.get('https://mezy.wtf/proxies.txt', (err, res, body) => {
    proxies = body.split('\n');
    setTimeout(() => scrapeProxies(), 2 * 60 * 1000);
});
不管我做什么,它似乎都不起作用,给出了错误

“TypeError:无法读取null的属性'length'”

如果有人能帮我,那就太好了,因为我对这方面还很陌生,只是在学习!非常感谢,谢谢

这是我的代码,因为我无法在这里上传,因为它太长了,我无法将其全部粘贴:


根据您的代码,以下操作应该有效

const scrapeProxies = () => {
        request.get('https://mezy.wtf/proxies.txt', (err, res, body) => {
            if (err) throw err;

            proxies = body.replace(/\r/gi, '').split('\n');
            setTimeout(() => scrapeProxies(), 2 * 60 * 1000);
        })
    };


scrapeProxies();
您的代码存在以下问题:

1-您需要检查使用完成的请求中是否存在任何错误

if (err) throw err;
这意味着如果发现错误,它将抛出异常

第二个-按“\n”拆分后,数组中的每个字符串仍然有“\r”,这就是为什么需要像第一个示例中那样将其替换为零

 body.replace(/\r/gi, '')
也可以直接按“\r\n”拆分

 body.split('\r\n');

请提供更多关于为什么代码应该工作的上下文,教给那个人不要只是解决问题:)你好,谢谢你回答我的问题。这确实修复了接收到的错误,但现在它只是停留在“检查”部分,实际上没有检查。你知道为什么会这样吗?我非常感谢你的帮助!好的,很好。它在检查代币,但它每分钟只检查1次(用于每分钟检查500次)知道为什么会这样吗?干杯