Узел JS-соединения между двумя серверами - PullRequest
0 голосов
/ 07 декабря 2018

В моем примере проекта я использовал Google recaptcha.Мне нужно проверить ответ капчи на заднем конце (узел JS).В NodeJS я использовал модуль запроса для подключения к серверу Google.Но я получил сообщение об ошибке, например:

Error: connect ECONNREFUSED 172.217.166.100:443
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)

Node JS

  formData = {
  secret: 'xxxxxx',
  response: 'yyyyyy'
  }

  request.post({
    url: "https://www.google.com/recaptcha/api/siteverify",
    form: formData
  },
  function (err, httpResponse, body) {
     if (err) throw err;
     if (body) {
       res.send(body);
     }
  });

Когда я пытаюсь установить прокси для этого кода NodeJS выше, как показано ниже ...

 formData = {
    secret: 'xxxxxx',
    response: 'yyyyyy'
 }

 request.post({
     url: "https://www.google.com/recaptcha/api/siteverify",
     form: formData,
     proxy: '172.217.166.100' /// Google server IP
 },
 function (err, httpResponse, body) {
   if (err) throw err;
   if (body) {
    res.send(body);
   }
 });

Я получил эти ошибки ....

Error: tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:80
at ClientRequest.onError (C:\Users\Desktop\project\Backend\node_modules\tunnel-agent\index.js:177:17)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at Socket.socketErrorListener (_http_client.js:387:9)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)

Может кто-нибудь помочь мне решить эту проблему

Заранее спасибо

1 Ответ

0 голосов
/ 07 декабря 2018

Похоже, вы указали что-то вроде

proxy: '172.217.166.100' /// Google server IP

, что неверно, поскольку вы не можете определить IP-адрес Google, так как он динамический и часто меняет его.

Последний IP-адрес прокси-сервера можно получить по приведенной ниже ссылке:

https://code.google.com/archive/p/recaptcha/wikis/FirewallsAndRecaptcha.wiki

Последние доступные IP-адреса:

ip4: 216.239.32.0/19ip4: 64.233.160.0/19 ip4: 66.249.80.0/20 ip4: 72.14.192.0/18 ip4: 209.85.128.0/17 ip4: 66.102.0.0/20 ip4: 74.125.0.0/16 ip4: 64.18.0.0/20 ip4: 207.126.144.0/20 ip4: 173.194.0.0/16

Надеюсь, это поможет!

...