详解node HTTP请求客户端 Request

2020-06-17 06:02:12易采站长站整理

true – 总是通过CONNECT隧道请求连接到目的 代理
false – 使用GET请求方法请求目标.

proxyHeaderWhiteList -发送到代理隧道的请求头白名单
proxyHeaderExclusiveList – 发送到代理隧道的请求头白名单,仅用于代理而不是目标服务器

HAR相关选项:

time – 为true时,则请求-响应环(包括所有重定向)在指定毫秒内提供,响应结果的回应时长为elapsedTime
har – HAR 1.2 请求对象 Object,将处理从HAR格式重写匹配值
callback – 或者通过选项对象传入请求回调函数。回调函数包含以下3个参灵敏:

error – 错误对象(出错时存在,通常由http.ClientRequest对象返回)
http.IncomingMessage对象
response 响应体(String、Buffer或JSON 对象)

12. 便捷方法

Request还可以使用以HTTP方法命名的便捷方法。

request.defaults(options)

返回一个正常请求API的包装器,其默认值为所传递的options选项。

示例:


// 使用 baseRequest() 进行请求是会设置一个 'x-token' 请求头
var baseRequest = request.defaults({
headers: {'x-token': 'my-token'}
})

// 使用 specialRequest() 进行请求时,会包含一个在 baseRequest 中设置的 'x-token' 请求头
// 还会有一个 'special' 请求头
var specialRequest = baseRequest.defaults({
headers: {special: 'special value'}
})

request.put

与request()方法相同,但默认method: “PUT”


request.put(url)

request.patch

与request()方法相同,但默认method: “PATCH”


request.patch(url)

request.post

与request()方法相同,但默认method: “POST”


request.post(url)

request.head

与request()方法相同,但默认method: “HEAD”


request.head(url)

request.del / request.delete

与request()方法相同,但默认method: “DELETE”


request.del(url)
request.delete(url)

request.get

与request()方法相同


request.get(url)

request.cookie

创建一个新Cookie


request.cookie('key1=value1')

request.jar

创建一个新Cookie Jar


request.jar()

注:Cookie Jar用于保存所访问网站的Cookie信息