Hoe controleren of proxy werkt in js

stemmen
0

Ik ben op zoek naar een proxy checker te doen op javascript, geef ik in de ingang van de proxy datas en controleert of de proxy werken.

Voor nu heb ik deze functie

var checkProxy = function(id, ip, port, url, user, pass, callback) {

    let proxy_url;
    if (user){
        if (user != ''){
            proxy_url = `socks5://${user}:${pass}@${ip}:${port}`;
        }
    } else {
        proxy_url = 'socks5://' + ip + ':' + port;
        console.log(proxy_url)
    }


    var proxyRequest = request.defaults({
        proxy: proxy_url,
    });

    proxyRequest({url: url, timeout: 120000}, function(err, res) {
        var testText = 'content=Brum Brum ...';
        if( err ) {

            callback(id, ip, port, false, -1, err);
        } else if( res.statusCode != 200 ) {
            callback(id, ip, port, false, res.statusCode, err);
        } else if( !res.body ) {
            callback(id, ip, port, false, res.statusCode, regex problem + options.regex + .);
        } else {
            callback(id, ip, port, true, res.statusCode);
        }

    });
}

Maar wanneer ik probeer om een ip het verkeerd resultaat geeft te controleren. Ik toke volmacht van deze site (proxy: 207.154.231.217:1080) en controleerde het met de functie, maar ik kreeg

FOUT: proxy num: 0, ip: 207.154.231.217, port: 1080 STATUS: -1, ERROR: Fout: tunneling socket kon niet worden vastgesteld, omdat = socket hangen

Ik heb gelezen dat dit is voor een soort van authenticatie vereist is, maar ik begrijp niet waarom als ik het te controleren op deze site , de sites me te vertellen dat de proxy werken.

De vraag is gesteld op 03/12/2019 om 00:02
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

Installeer de socks5-http-clientmodule en uitvoeren van deze code

const request = require('request');
const Agent = require('socks5-http-client/lib/Agent');


var checkProxy = function (id, ip, port, url, user, pass, callback) {

    var proxyRequest = request.defaults({
        agentClass: Agent,
        agentOptions: {
            socksHost: ip,
            socksPort: port,
            socksUsername: user,
            socksPassword: pass
        }
    });

    proxyRequest({ url: url, timeout: 120000 }, function (err, res) {
        var testText = 'content="Brum Brum ..."';
        if (err) {

            callback(id, ip, port, false, -1, err);
        } else if (res.statusCode != 200) {
            callback(id, ip, port, false, res.statusCode, err);
        } else if (!res.body) {
            callback(id, ip, port, false, res.statusCode, "regex problem" + options.regex + ".");
        } else {
            callback(id, ip, port, true, res.statusCode);
        }

    });
}
antwoordde op 06/12/2019 om 11:56
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more