Wie überprüfen Sie, ob Proxy arbeitet in js

stimmen
0

Ich versuche, einen Proxy-Checker auf Javascript zu tun, gebe ich die Proxy-Daten in Ein- und es wird geprüft, ob die Proxy funktioniert.

Denn jetzt habe ich diese Funktion

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

    });
}

Aber wenn ich versuche , ein IP zu überprüfen , es zu falschen Ergebnissen führt. Ich Toke Proxy von dieser Seite (Proxy: 207.154.231.217:1080) und überprüft sie mit der Funktion , aber ich habe

ERROR: Proxy num: 0, ip: 207.154.231.217, Port: 1080, STATUS: -1, ERROR: Fehler: Tunnel Socket konnte nicht hergestellt werden, weil = socket auflegen

Ich lese , dass dies für eine Art von Auth ist erforderlich , aber ich verstehe nicht , warum , wenn ich es auf überprüfe diese Website , die Seiten sagen mir , dass die Proxy funktioniert.

Veröffentlicht am 03/12/2019 um 00:02
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Installieren socks5-http-clientModul und führen Sie diesen 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);
        }

    });
}
Beantwortet am 06/12/2019 um 11:56
quelle vom benutzer

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