HTTPS is the HTTP protocol over TLS/SSL. In Node.js this is implemented as a separate module.
An Agent object for HTTPS similar to http.Agent
. See https.request()
for more information.
This class is a subclass of tls.Server
and emits events same as http.Server
. See http.Server
for more information.
msecs
<number> Defaults to 120000 (2 minutes).callback
<Function>
See http.Server#timeout
.
options
<Object> Accepts options
from tls.createServer()
and tls.createSecureContext()
.requestListener
<Function> A listener to be added to the request
event.Example:
// curl -k https://localhost:8000/ const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') }; https.createServer(options, (req, res) => { res.writeHead(200); res.end('hello world\n'); }).listen(8000);
Or
const https = require('https'); const fs = require('fs'); const options = { pfx: fs.readFileSync('server.pfx') }; https.createServer(options, (req, res) => { res.writeHead(200); res.end('hello world\n'); }).listen(8000);
callback
<Function>
See http.close()
for details.
handle
<Object>
callback
<Function>
path
<string>
callback
<Function>
port
<number>
hostname
<string>
backlog
<number>
callback
<Function>
See http.listen()
for details.
options
<Object> | <string> Accepts the same options
as https.request()
, with the method
always set to GET
.callback
<Function>
Like http.get()
but for HTTPS.
options
can be an object or a string. If options
is a string, it is automatically parsed with url.parse()
.
Example:
const https = require('https'); https.get('https://encrypted.google.com/', (res) => { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); res.on('data', (d) => { process.stdout.write(d); }); }).on('error', (e) => { console.error(e); });
Global instance of https.Agent
for all HTTPS client requests.
options
<Object> | <string> Accepts all options
from http.request()
, with some differences in default values:protocol
Defaults to https:
port
Defaults to 443
.agent
Defaults to https.globalAgent
.callback
<Function>
Makes a request to a secure web server.
The following additional options
from tls.connect()
are also accepted when using a custom Agent
: pfx
, key
, passphrase
, cert
, ca
, ciphers
, rejectUnauthorized
, secureProtocol
, servername
options
can be an object or a string. If options
is a string, it is automatically parsed with url.parse()
.
Example:
const https = require('https'); var options = { hostname: 'encrypted.google.com', port: 443, path: '/', method: 'GET' }; var req = https.request(options, (res) => { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); res.on('data', (d) => { process.stdout.write(d); }); }); req.on('error', (e) => { console.error(e); }); req.end();
Example using options from tls.connect()
:
var options = { hostname: 'encrypted.google.com', port: 443, path: '/', method: 'GET', key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') }; options.agent = new https.Agent(options); var req = https.request(options, (res) => { ... });
Alternatively, opt out of connection pooling by not using an Agent
.
Example:
var options = { hostname: 'encrypted.google.com', port: 443, path: '/', method: 'GET', key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'), agent: false }; var req = https.request(options, (res) => { ... });
© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v7.x/docs/api/https.html