Request: рдЕрдиреНрдп рд╕рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд▓рдЧрд╛рддрд╛рд░ ESOCKETTIMEDOUT рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ (http://www.bestbuy.com)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 10 рдЕрдЧре░ 2017  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: request/request

рдирдорд╕реНрддреЗ,

рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рд╣реЛрддрд╛ рд╣реИ!

const request = require('request');
const axios = require('axios');
const url = 'http://www.bestbuy.com/';
request({
    url: url,
    timeout: 5000
}, (error, response, body) => {
    if (!error)
        console.log(`request got ${response.statusCode}`);
    else
        console.error(`request got an error`, error);
});

axios.get(url).then((ret) => {
    console.log(`Axios got ${ret.status}`);
});

рдЖрдЙрдЯрдкреБрдЯ:

Axios got 200
request got an error { Error: ESOCKETTIMEDOUT
    at ClientRequest.<anonymous> (/Users/amir/dev/test/testVideosFb/node_modules/request/request.js:819:19)
    at Object.onceWrapper (events.js:293:19)
    at emitNone (events.js:86:13)
    at ClientRequest.emit (events.js:188:7)
    at Socket.emitTimeout (_http_client.js:679:10)
    at Object.onceWrapper (events.js:293:19)
    at emitNone (events.js:86:13)
    at Socket.emit (events.js:188:7)
    at Socket._onTimeout (net.js:345:8)
    at ontimeout (timers.js:380:14) code: 'ESOCKETTIMEDOUT', connect: false }

рдореЗрд░рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдиреЛрдб 7.7.2/8.3.0 рдФрд░ рдЕрдиреБрд░реЛрдз@2.81.0 . рд╣реИ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ bestbuy.com рдЕрдиреБрд░реЛрдз рд╕реЗ рднреЗрдЬреЗ рдЬрд╛ рд░рд╣реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдЙрд╕реА рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ axios рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдордп рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ:

const request = require('request');
const axios = require('axios');
const url = 'http://www.bestbuy.com/';
request({
  url: url,
  timeout: 5000,
  headers: {
    "Accept": "application/json, text/plain, */*",
    "User-Agent": "axios/0.18.0"
  }
}, (error, response, body) => {
  if (!error)
    console.log(`request got ${response.statusCode}`);
  else
    console.error(`request got an error`, error);
});

axios.get(url).then((ret) => {
  console.log(`Axios got ${ret.status}`);
});

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕ ESOCKETTIMEOUT рдореБрджреНрджреЗ рдкрд░ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрд╣ рднреА рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

рдХреНрдпрд╛ ESOCKETTIMEOUT рд╕реЙрдХреЗрдЯ рдкреВрд▓рд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдиреЛрдб рдореЗрдВ рд╕реЙрдХреЗрдЯ рдкреВрд▓рд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ

`var http = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('http');
http.globalAgent.maxSockets = рдЗрдиреНрдлрд┐рдирд┐рдЯреА;

рд╡рд░ https = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('https');
https.globalAgent.maxSockets = Infinity;`

рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдХреЛ ESOCKETTIMEOUT рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдмрджрд▓рд╛?

рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╣реА рдореБрджреНрджрд╛

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдпрджрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ async рдЕрдиреБрд░реЛрдз рд╣реИрдВ, рддреЛ linux рдореЗрдВ ESOCKETTIMEDOUT рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЬреЛ рдХрд╛рдордХрд╛рдЬ рдкрд╛рдпрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рдХрд░ рд░рд╣рд╛ рд╣реИ:

рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ ():

agent: false, pool: {maxSockets: 100}

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдпрд╣рд╛рдБ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ +1
agent: false, pool: {maxSockets: 100} рдорджрдж рдирд╣реАрдВ рдХреА

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ bestbuy.com рдЕрдиреБрд░реЛрдз рд╕реЗ рднреЗрдЬреЗ рдЬрд╛ рд░рд╣реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдЙрд╕реА рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ axios рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдордп рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ:

const request = require('request');
const axios = require('axios');
const url = 'http://www.bestbuy.com/';
request({
  url: url,
  timeout: 5000,
  headers: {
    "Accept": "application/json, text/plain, */*",
    "User-Agent": "axios/0.18.0"
  }
}, (error, response, body) => {
  if (!error)
    console.log(`request got ${response.statusCode}`);
  else
    console.error(`request got an error`, error);
});

axios.get(url).then((ret) => {
  console.log(`Axios got ${ret.status}`);
});

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Aranir picture Aranir  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ORESoftware picture ORESoftware  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

svlungade picture svlungade  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

codecowboy picture codecowboy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ