node-ytdl-core: Error: status code 403

Did youtube update their api?

My code worked yesterday.

The error:

[9020:0217/192331:ERROR:nw_shell.cc(324)] Error: status code 403
    at Request.<anonymous> (app_path\node_modules\ytdl-core\lib\index.js:67:16)
    at Request.emit (events.js:116:17)
    at Request.onResponse (app_path\node_modules\ytdl-core\node_modules\request\request.js:958:10)
    at ClientRequest.g (events.js:202:16)
    at ClientRequest.emit (events.js:116:17)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:420:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:113:23)
    at Socket.socketOnData (_http_client.js:311:20)
    at Socket.emit (events.js:116:17)
    at readableAddChunk (_stream_readable.js:164:16)
[9020:0217/192331:INFO:CONSOLE(94)] "Uncaught Error: status code 403", source: events.js (94)

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Comments: 37 (11 by maintainers)

Most upvoted comments

Just had this error too, my code worked just fine and then it doesnt, tried to change the api I use to search in yt and still got error 403. So I did what @drepram said, and generated another api key, and now it works again. Thank you @drepram !

Here is what I got

{ _readableState: 
   { objectMode: false,
     highWaterMark: 16384,
     buffer: [],
     length: 0,
     pipes: null,
     pipesCount: 0,
     flowing: true,
     ended: false,
     endEmitted: false,
     reading: false,
     sync: true,
     needReadable: false,
     emittedReadable: false,
     readableListening: false,
     defaultEncoding: 'utf8',
     ranOut: false,
     awaitDrain: 0,
     readingMore: false,
     decoder: null,
     encoding: null,
     resumeScheduled: true },
  readable: true,
  domain: null,
  _events: 
   { end: [ [Function: responseOnEnd], [Function] ],
     close: [Function] },
  _maxListeners: undefined,
  socket: 
   { _connecting: false,
     _hadError: false,
     _handle: 
      { fd: 15,
        reading: true,
        owner: [Circular],
        onread: [Function: onread],
        onconnection: null,
        writeQueueSize: 0 },
     _host: 'r6---sn-i3b7snl7.googlevideo.com',
     _readableState: 
      { objectMode: false,
        highWaterMark: 16384,
        buffer: [],
        length: 0,
        pipes: null,
        pipesCount: 0,
        flowing: true,
        ended: false,
        endEmitted: false,
        reading: false,
        sync: false,
        needReadable: true,
        emittedReadable: false,
        readableListening: false,
        defaultEncoding: 'utf8',
        ranOut: false,
        awaitDrain: 0,
        readingMore: false,
        decoder: null,
        encoding: null,
        resumeScheduled: false },
     readable: true,
     domain: null,
     _events: 
      { end: [Object],
        finish: [Function: onSocketFinish],
        _socketEnd: [Function: onSocketEnd],
        free: [Function: onFree],
        close: [Object],
        agentRemove: [Function: onRemove],
        drain: [Function: ondrain],
        error: [Object],
        data: [Function: socketOnData] },
     _maxListeners: 0,
     _writableState: 
      { objectMode: false,
        highWaterMark: 16384,
        needDrain: false,
        ending: false,
        ended: false,
        finished: false,
        decodeStrings: false,
        defaultEncoding: 'utf8',
        length: 0,
        writing: false,
        corked: 0,
        sync: false,
        bufferProcessing: false,
        onwrite: [Function],
        writecb: null,
        writelen: 0,
        bufferedRequest: null,
        lastBufferedRequest: null,
        pendingcb: 0,
        prefinished: false,
        errorEmitted: false },
     writable: true,
     allowHalfOpen: false,
     destroyed: false,
     bytesRead: 223,
     _bytesDispatched: 691,
     _pendingData: null,
     _pendingEncoding: '',
     parser: 
      { '0': [Function: parserOnHeaders],
        '1': [Function: parserOnHeadersComplete],
        '2': [Function: parserOnBody],
        '3': [Function: parserOnMessageComplete],
        _headers: [],
        _url: '',
        socket: [Circular],
        incoming: [Circular],
        maxHeaderPairs: 2000,
        onIncoming: [Function: parserOnIncomingClient] },
     _httpMessage: 
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        output: [],
        outputEncodings: [],
        outputCallbacks: [],
        writable: true,
        _last: true,
        chunkedEncoding: false,
        shouldKeepAlive: false,
        useChunkedEncodingByDefault: false,
        sendDate: false,
        _removedHeader: {},
        _hasBody: true,
        _trailer: '',
        finished: true,
        _hangupClose: false,
        _headerSent: true,
        socket: [Circular],
        connection: [Circular],
        _header: 'GET /videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes HTTP/1.1\r\nhost: r6---sn-i3b7snl7.googlevideo.com\r\nConnection: close\r\n\r\n',
        _headers: [Object],
        _headerNames: [Object],
        agent: [Object],
        socketPath: undefined,
        method: 'GET',
        path: '/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
        parser: [Object],
        res: [Circular] },
     read: [Function],
     _consuming: true },
  connection: 
   { _connecting: false,
     _hadError: false,
     _handle: 
      { fd: 15,
        reading: true,
        owner: [Circular],
        onread: [Function: onread],
        onconnection: null,
        writeQueueSize: 0 },
     _host: 'r6---sn-i3b7snl7.googlevideo.com',
     _readableState: 
      { objectMode: false,
        highWaterMark: 16384,
        buffer: [],
        length: 0,
        pipes: null,
        pipesCount: 0,
        flowing: true,
        ended: false,
        endEmitted: false,
        reading: false,
        sync: false,
        needReadable: true,
        emittedReadable: false,
        readableListening: false,
        defaultEncoding: 'utf8',
        ranOut: false,
        awaitDrain: 0,
        readingMore: false,
        decoder: null,
        encoding: null,
        resumeScheduled: false },
     readable: true,
     domain: null,
     _events: 
      { end: [Object],
        finish: [Function: onSocketFinish],
        _socketEnd: [Function: onSocketEnd],
        free: [Function: onFree],
        close: [Object],
        agentRemove: [Function: onRemove],
        drain: [Function: ondrain],
        error: [Object],
        data: [Function: socketOnData] },
     _maxListeners: 0,
     _writableState: 
      { objectMode: false,
        highWaterMark: 16384,
        needDrain: false,
        ending: false,
        ended: false,
        finished: false,
        decodeStrings: false,
        defaultEncoding: 'utf8',
        length: 0,
        writing: false,
        corked: 0,
        sync: false,
        bufferProcessing: false,
        onwrite: [Function],
        writecb: null,
        writelen: 0,
        bufferedRequest: null,
        lastBufferedRequest: null,
        pendingcb: 0,
        prefinished: false,
        errorEmitted: false },
     writable: true,
     allowHalfOpen: false,
     destroyed: false,
     bytesRead: 223,
     _bytesDispatched: 691,
     _pendingData: null,
     _pendingEncoding: '',
     parser: 
      { '0': [Function: parserOnHeaders],
        '1': [Function: parserOnHeadersComplete],
        '2': [Function: parserOnBody],
        '3': [Function: parserOnMessageComplete],
        _headers: [],
        _url: '',
        socket: [Circular],
        incoming: [Circular],
        maxHeaderPairs: 2000,
        onIncoming: [Function: parserOnIncomingClient] },
     _httpMessage: 
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        output: [],
        outputEncodings: [],
        outputCallbacks: [],
        writable: true,
        _last: true,
        chunkedEncoding: false,
        shouldKeepAlive: false,
        useChunkedEncodingByDefault: false,
        sendDate: false,
        _removedHeader: {},
        _hasBody: true,
        _trailer: '',
        finished: true,
        _hangupClose: false,
        _headerSent: true,
        socket: [Circular],
        connection: [Circular],
        _header: 'GET /videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes HTTP/1.1\r\nhost: r6---sn-i3b7snl7.googlevideo.com\r\nConnection: close\r\n\r\n',
        _headers: [Object],
        _headerNames: [Object],
        agent: [Object],
        socketPath: undefined,
        method: 'GET',
        path: '/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
        parser: [Object],
        res: [Circular] },
     read: [Function],
     _consuming: true },
  httpVersionMajor: 1,
  httpVersionMinor: 1,
  httpVersion: '1.1',
  complete: false,
  headers: 
   { 'last-modified': 'Wed, 02 May 2007 10:26:10 GMT',
     'content-type': 'text/plain',
     'content-length': '0',
     connection: 'close',
     'x-content-type-options': 'nosniff',
     date: 'Sat, 21 Feb 2015 16:29:04 GMT',
     server: 'gvs 1.0' },
  rawHeaders: 
   [ 'Last-Modified',
     'Wed, 02 May 2007 10:26:10 GMT',
     'Content-Type',
     'text/plain',
     'Content-Length',
     '0',
     'Connection',
     'close',
     'X-Content-Type-Options',
     'nosniff',
     'Date',
     'Sat, 21 Feb 2015 16:29:04 GMT',
     'Server',
     'gvs 1.0' ],
  trailers: {},
  rawTrailers: [],
  _pendings: [],
  _pendingIndex: 0,
  upgrade: false,
  url: '',
  method: null,
  statusCode: 403,
  statusMessage: 'Forbidden',
  client: 
   { _connecting: false,
     _hadError: false,
     _handle: 
      { fd: 15,
        reading: true,
        owner: [Circular],
        onread: [Function: onread],
        onconnection: null,
        writeQueueSize: 0 },
     _host: 'r6---sn-i3b7snl7.googlevideo.com',
     _readableState: 
      { objectMode: false,
        highWaterMark: 16384,
        buffer: [],
        length: 0,
        pipes: null,
        pipesCount: 0,
        flowing: true,
        ended: false,
        endEmitted: false,
        reading: false,
        sync: false,
        needReadable: true,
        emittedReadable: false,
        readableListening: false,
        defaultEncoding: 'utf8',
        ranOut: false,
        awaitDrain: 0,
        readingMore: false,
        decoder: null,
        encoding: null,
        resumeScheduled: false },
     readable: true,
     domain: null,
     _events: 
      { end: [Object],
        finish: [Function: onSocketFinish],
        _socketEnd: [Function: onSocketEnd],
        free: [Function: onFree],
        close: [Object],
        agentRemove: [Function: onRemove],
        drain: [Function: ondrain],
        error: [Object],
        data: [Function: socketOnData] },
     _maxListeners: 0,
     _writableState: 
      { objectMode: false,
        highWaterMark: 16384,
        needDrain: false,
        ending: false,
        ended: false,
        finished: false,
        decodeStrings: false,
        defaultEncoding: 'utf8',
        length: 0,
        writing: false,
        corked: 0,
        sync: false,
        bufferProcessing: false,
        onwrite: [Function],
        writecb: null,
        writelen: 0,
        bufferedRequest: null,
        lastBufferedRequest: null,
        pendingcb: 0,
        prefinished: false,
        errorEmitted: false },
     writable: true,
     allowHalfOpen: false,
     destroyed: false,
     bytesRead: 223,
     _bytesDispatched: 691,
     _pendingData: null,
     _pendingEncoding: '',
     parser: 
      { '0': [Function: parserOnHeaders],
        '1': [Function: parserOnHeadersComplete],
        '2': [Function: parserOnBody],
        '3': [Function: parserOnMessageComplete],
        _headers: [],
        _url: '',
        socket: [Circular],
        incoming: [Circular],
        maxHeaderPairs: 2000,
        onIncoming: [Function: parserOnIncomingClient] },
     _httpMessage: 
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        output: [],
        outputEncodings: [],
        outputCallbacks: [],
        writable: true,
        _last: true,
        chunkedEncoding: false,
        shouldKeepAlive: false,
        useChunkedEncodingByDefault: false,
        sendDate: false,
        _removedHeader: {},
        _hasBody: true,
        _trailer: '',
        finished: true,
        _hangupClose: false,
        _headerSent: true,
        socket: [Circular],
        connection: [Circular],
        _header: 'GET /videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes HTTP/1.1\r\nhost: r6---sn-i3b7snl7.googlevideo.com\r\nConnection: close\r\n\r\n',
        _headers: [Object],
        _headerNames: [Object],
        agent: [Object],
        socketPath: undefined,
        method: 'GET',
        path: '/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
        parser: [Object],
        res: [Circular] },
     read: [Function],
     _consuming: true },
  _consuming: false,
  _dumped: false,
  req: 
   { domain: null,
     _events: { error: [Function], drain: [Function] },
     _maxListeners: undefined,
     output: [],
     outputEncodings: [],
     outputCallbacks: [],
     writable: true,
     _last: true,
     chunkedEncoding: false,
     shouldKeepAlive: false,
     useChunkedEncodingByDefault: false,
     sendDate: false,
     _removedHeader: {},
     _hasBody: true,
     _trailer: '',
     finished: true,
     _hangupClose: false,
     _headerSent: true,
     socket: 
      { _connecting: false,
        _hadError: false,
        _handle: [Object],
        _host: 'r6---sn-i3b7snl7.googlevideo.com',
        _readableState: [Object],
        readable: true,
        domain: null,
        _events: [Object],
        _maxListeners: 0,
        _writableState: [Object],
        writable: true,
        allowHalfOpen: false,
        destroyed: false,
        bytesRead: 223,
        _bytesDispatched: 691,
        _pendingData: null,
        _pendingEncoding: '',
        parser: [Object],
        _httpMessage: [Circular],
        read: [Function],
        _consuming: true },
     connection: 
      { _connecting: false,
        _hadError: false,
        _handle: [Object],
        _host: 'r6---sn-i3b7snl7.googlevideo.com',
        _readableState: [Object],
        readable: true,
        domain: null,
        _events: [Object],
        _maxListeners: 0,
        _writableState: [Object],
        writable: true,
        allowHalfOpen: false,
        destroyed: false,
        bytesRead: 223,
        _bytesDispatched: 691,
        _pendingData: null,
        _pendingEncoding: '',
        parser: [Object],
        _httpMessage: [Circular],
        read: [Function],
        _consuming: true },
     _header: 'GET /videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes HTTP/1.1\r\nhost: r6---sn-i3b7snl7.googlevideo.com\r\nConnection: close\r\n\r\n',
     _headers: { host: 'r6---sn-i3b7snl7.googlevideo.com' },
     _headerNames: { host: 'host' },
     agent: 
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        defaultPort: 80,
        protocol: 'http:',
        options: [Object],
        requests: {},
        sockets: [Object],
        freeSockets: {},
        keepAliveMsecs: 1000,
        keepAlive: false,
        maxSockets: Infinity,
        maxFreeSockets: 256 },
     socketPath: undefined,
     method: 'GET',
     path: '/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
     parser: 
      { '0': [Function: parserOnHeaders],
        '1': [Function: parserOnHeadersComplete],
        '2': [Function: parserOnBody],
        '3': [Function: parserOnMessageComplete],
        _headers: [],
        _url: '',
        socket: [Object],
        incoming: [Circular],
        maxHeaderPairs: 2000,
        onIncoming: [Function: parserOnIncomingClient] },
     res: [Circular] },
  request: 
   { domain: null,
     _events: 
      { pipe: [Function],
        error: [Function],
        response: [Function],
        end: [Function] },
     _maxListeners: undefined,
     readable: true,
     writable: true,
     downloadURL: true,
     canTunnel: 
      { httpOverHttp: [Function: httpOverHttp],
        httpsOverHttp: [Function: httpsOverHttp],
        httpOverHttps: [Function: httpOverHttps],
        httpsOverHttps: [Function: httpsOverHttps],
        debug: [Function] },
     method: 'GET',
     localAddress: undefined,
     pool: {},
     dests: [],
     __isRequestRequest: true,
     uri: 
      { protocol: 'http:',
        slashes: true,
        auth: null,
        host: 'r6---sn-i3b7snl7.googlevideo.com',
        port: 80,
        hostname: 'r6---sn-i3b7snl7.googlevideo.com',
        hash: null,
        search: '?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
        query: 'fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
        pathname: '/videoplayback',
        path: '/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
        href: 'http://r6---sn-i3b7snl7.googlevideo.com/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes' },
     _redirectsFollowed: 0,
     maxRedirects: 10,
     followRedirect: true,
     followAllRedirects: false,
     redirects: [],
     headers: {},
     setHost: true,
     originalCookieHeader: undefined,
     _disableCookies: true,
     _jar: undefined,
     port: 80,
     host: 'r6---sn-i3b7snl7.googlevideo.com',
     clientErrorHandler: [Function],
     _parserErrorHandler: [Function],
     _buildRequest: [Function],
     _handleUnixSocketURI: [Function],
     path: '/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
     httpModule: 
      { IncomingMessage: [Object],
        METHODS: [Object],
        OutgoingMessage: [Object],
        ServerResponse: [Object],
        STATUS_CODES: [Object],
        Agent: [Object],
        globalAgent: [Object],
        ClientRequest: [Object],
        request: [Function],
        get: [Function],
        _connectionListener: [Function: connectionListener],
        Server: [Object],
        createServer: [Function],
        Client: [Function: deprecated],
        createClient: [Function: deprecated] },
     agentClass: { [Function: Agent] super_: [Object], defaultMaxSockets: Infinity },
     agent: 
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        defaultPort: 80,
        protocol: 'http:',
        options: [Object],
        requests: {},
        sockets: [Object],
        freeSockets: {},
        keepAliveMsecs: 1000,
        keepAlive: false,
        maxSockets: Infinity,
        maxFreeSockets: 256 },
     _started: true,
     href: 'http://r6---sn-i3b7snl7.googlevideo.com/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
     req: 
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        output: [],
        outputEncodings: [],
        outputCallbacks: [],
        writable: true,
        _last: true,
        chunkedEncoding: false,
        shouldKeepAlive: false,
        useChunkedEncodingByDefault: false,
        sendDate: false,
        _removedHeader: {},
        _hasBody: true,
        _trailer: '',
        finished: true,
        _hangupClose: false,
        _headerSent: true,
        socket: [Object],
        connection: [Object],
        _header: 'GET /videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes HTTP/1.1\r\nhost: r6---sn-i3b7snl7.googlevideo.com\r\nConnection: close\r\n\r\n',
        _headers: [Object],
        _headerNames: [Object],
        agent: [Object],
        socketPath: undefined,
        method: 'GET',
        path: '/videoplayback?fexp=905657%2C907263%2C927622%2C931367%2C943610%2C943917%2C947225%2C948124%2C952302%2C952605%2C952612%2C952901%2C955301%2C957201%2C959701%2C960602&keepalive=yes&gcr=ph&sver=3&gir=yes&sparams=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cms%2Cmv%2Cpl%2Csource%2Cupn%2Cexpire&clen=4342379&key=yt5&expire=1424557739&lmt=1418311475214187&upn=aD5KnppzgL8&ip=120.28.110.196&mm=31&ipbits=0&itag=140&mt=1424536069&initcwndbps=1177500&id=o-AJB7MWiqhY17EUxc7-wWecNzu0JNgPU_3IyS0nIYZCUz&pl=21&dur=270.442&mime=audio%2Fmp4&ms=au&source=youtube&mv=m&ratebypass=yes',
        parser: [Object],
        res: [Circular] },
     ntick: true,
     response: [Circular] },
  toJSON: [Function: toJSON] }