Comment vérifier si proxy fonctionne js

voix
0

Je suis en train de faire un vérificateur proxy javascript, je donne en entrée les données proxy et il vérifie si les travaux de proxy.

Pour l'instant, j'ai écrit cette fonction

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);
        }

    });
}

Mais lorsque je tente de vérifier une adresse IP , il donne des résultats erronés. Je Toke proxy de ce site (proxy: 207.154.231.217:1080) et vérifié avec la fonction mais je me suis

ERREUR: num proxy: 0, ip: 207.154.231.217, le port: 1080, Statut: -1, ERREUR: Erreur: prise à effet tunnel n'a pas pu être établie, la cause = prise raccrocher

Je lis que c'est pour une sorte de auth nécessaire , mais je ne comprends pas pourquoi , si je vérifie sur ce site , les sites me disent que les œuvres proxy.

Créé 03/12/2019 à 00:02
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Installez le socks5-http-clientmodule et exécuter ce 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);
        }

    });
}
Créé 06/12/2019 à 11:56
source utilisateur

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