title: AXIOS request: "Error: connect ECONNREFUSED 127.0.0.1:80"
body: <p>Trying to understand what's going on with my GET request. I set this up on the backend using node.js. I first thought I was using the wrong .env, url, username, and password... but when I checked on Postman, Basic Auth seemed to be getting the JSON data without any issues. Am I using AXIOS wrong? </p>
  
  <p>Here's my GET request:</p>
  
  <pre><code>let customers;
  try {
      let user_res = await axios({
          method: "GET",
          url: "api._____.com/customers",
          auth: {
              username: process.env.USERNAME,
              password: process.env.PASSWORD
          }
      });
      customers = user_res.data;
      console.log(customers);
  } catch (err) {
      const error = new HttpError(
          "API failed, please try again.",
          500
      );
      return next(error);
  }
  </code></pre>
  
  <hr>
  
  <p>ERROR Log:</p>
  
  <pre><code>API_NAME error Error: connect ECONNREFUSED 127.0.0.1:80
  at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1137:16) {
      errno: -61,
      code: 'ECONNREFUSED',
      syscall: 'connect',
      address: '127.0.0.1',
      port: 80,
      config: {
          url: 'api.___.com/customers',
          method: 'get',
          headers: {
          Accept: 'application/json, text/plain, */*',
          'User-Agent': 'axios/0.19.1'
          },
          auth: {
          username: '___',
          password: '___'
          },
          transformRequest: [ [Function: transformRequest] ],
          transformResponse: [ [Function: transformResponse] ],
          timeout: 0,
          adapter: [Function: httpAdapter],
          xsrfCookieName: 'XSRF-TOKEN',
          xsrfHeaderName: 'X-XSRF-TOKEN',
          maxContentLength: -1,
          validateStatus: [Function: validateStatus],
          data: undefined
      },
      request: &lt;ref *1&gt; Writable {
          _writableState: WritableState {
          objectMode: false,
          highWaterMark: 16384,
          finalCalled: false,
          needDrain: false,
          ending: false,
          ended: false,
          finished: false,
          destroyed: false,
          decodeStrings: true,
          defaultEncoding: 'utf8',
          length: 0,
          writing: false,
          corked: 0,
          sync: true,
          bufferProcessing: false,
          onwrite: [Function: bound onwrite],
          writecb: null,
          writelen: 0,
          afterWriteTickInfo: null,
          bufferedRequest: null,
          lastBufferedRequest: null,
          pendingcb: 0,
          prefinished: false,
          errorEmitted: false,
          emitClose: true,
          autoDestroy: false,
          errored: false,
          bufferedRequestCount: 0,
          corkedRequestsFree: [Object]
          },
          writable: true,
          _events: [Object: null prototype] {
          response: [Function: handleResponse],
          error: [Function: handleRequestError]
          },
          _eventsCount: 2,
          _maxListeners: undefined,
          _options: {
          protocol: 'http:',
          maxRedirects: 21,
          maxBodyLength: 10485760,
          path: 'api.___.com/customers',
          method: 'GET',
          headers: [Object],
          agent: undefined,
          agents: [Object],
          auth: '___',
          hostname: null,
          port: null,
          nativeProtocols: [Object],
          pathname: 'api.___.com/customers'
          },
          _redirectCount: 0,
          _redirects: [],
          _requestBodyLength: 0,
          _requestBodyBuffers: [],
          _onNativeResponse: [Function (anonymous)],
          _currentRequest: ClientRequest {
          _events: [Object: null prototype],
          _eventsCount: 6,
          _maxListeners: undefined,
          outputData: [],
          outputSize: 0,
          writable: true,
          _last: true,
          chunkedEncoding: false,
          shouldKeepAlive: false,
          useChunkedEncodingByDefault: false,
          sendDate: false,
          _removedConnection: false,
          _removedContLen: false,
          _removedTE: false,
          _contentLength: 0,
          _hasBody: true,
          _trailer: '',
          finished: true,
          _headerSent: true,
          socket: [Socket],
          _header: 'GET api.___.com/customers HTTP/1.1\r\n' +
              'Accept: application/json, text/plain, */*\r\n' +
              'User-Agent: axios/0.19.1\r\n' +
              'Host: localhost\r\n' +
              'Authorization: Basic ___==\r\n' +
              'Connection: close\r\n' +
              '\r\n',
          _onPendingData: [Function: noopPendingOutput],
          agent: [Agent],
          socketPath: undefined,
          method: 'GET',
          maxHeaderSize: undefined,
          insecureHTTPParser: undefined,
          path: 'api.___.com/customers',
          _ended: false,
          res: null,
          aborted: false,
          timeoutCb: null,
          upgradeOrConnect: false,
          parser: null,
          maxHeadersCount: null,
          reusedSocket: false,
          _redirectable: [Circular *1],
          [Symbol(kCapture)]: false,
          [Symbol(kNeedDrain)]: false,
          [Symbol(corked)]: 0,
          [Symbol(kOutHeaders)]: [Object: null prototype]
          },
          _currentUrl: 'http:api.___.com/customers',
          [Symbol(kCapture)]: false
      },
      response: undefined,
      isAxiosError: true,
      toJSON: [Function (anonymous)]
  }
  </code></pre>