electron/docs/api/net.md
2016-10-19 09:24:59 +02:00

1.9 KiB

net

Issue HTTP/HTTPS requests

The net module is a client-side API for issuing HTTP requests. It is similar to the HTTP and HTTPS modules of Node.js but uses Chromium networking library instead of the Node.js stack offering therefore a much grater support regarding web proxies.

Following is a non-exhaustive list of why you may need to use the net module instead of Node.js HTTP:

  • Automatic management of system proxy configuration, support of the wpad protocol and proxy pac configuration files.
  • Automatic tunneling of HTTPS requests.
  • Support for authenticating proxies using basic, digest, NTLM, Kerberos or negotiate authentication schemes.
  • Support for traffic monitoring proxies: Fiddler-like proxies used for access control and monitoring.

The following example quickly shows how the net API mgiht be used:

const {app} = require('electron')

app.on('ready', () => {
	const {net} = require('electron')
	const request = net.request('https://github.com')
	request.on('response', (response) => {
		console.log(`STATUS: ${response.statusCode}`);
		console.log(`HEADERS: ${JSON.stringify(response.headers)}`);
		response.on('data', (chunk) => {
			console.log(`BODY: ${chunk}`)
		})
		response.on('end', () => {
			console.log('No more data in response.');
		})
	})
	request.end()
})

Methods

net.request

Class: ClientRequest

Instance Events

Event: 'response'

Event: 'login'

Event: 'finish'

Event: 'abort'

Event: 'error'

Event: 'close'

Instance Methods

request.setHeader(name, value)

request.getHeader(name)

request.removeHeader(name)

request.write(chunk, [encoding], [callback])

request.end(chunk, [encoding], [callback])

request.abort()

Instance Properties

request.chunkedEncoding

Class: IncomingMessage

Event: