Object 内置对象

对象 HttpClient

http客户端对象

http客户端对象模拟浏览器环境缓存cookie,并在访问url的时候携带对应的cookie,不同的http客户端对象是相互隔离的,提供http的request、get、post等方法。 用法如下:

1 2 3
var http = require('http'); var httpClient = new http.Client(); httpClient.request('GET', 'http://fibjs.org');

继承关系

构造函数

HttpClient

HttpClient 构造函数,创建一个新的HttpClient对象

1
new HttpClient();

成员属性

cookies

NArray, 返回http客户端的 HttpCookie 对象列表

1
readonly NArray HttpClient.cookies;

timeout

Integer, 查询和设置超时时间 单位毫秒

1
Integer HttpClient.timeout;

maxBodySize

Integer, 查询和设置 body 最大尺寸,以 MB 为单位,缺省为 -1,不限制尺寸

1
Integer HttpClient.maxBodySize;

enableCookie

Boolean, cookie功能开关,默认开启

1
Boolean HttpClient.enableCookie;

autoRedirect

Boolean, 自动redirect功能开关,默认开启

1
Boolean HttpClient.autoRedirect;

userAgent

String, 查询和设置 http 请求中的浏览器标识

1
String HttpClient.userAgent;

成员函数

request

发送 http 请求到指定的流对象,并返回结果

1 2
HttpResponse HttpClient.request(Stream conn, HttpRequest req) async;

调用参数:

返回结果:


请求指定的 url,并返回结果

1 2 3
HttpResponse HttpClient.request(String method, String url, Object opts = {}) async;

调用参数:

  • method: String, 指定 http 请求方法:GET, POST 等
  • url: String, 指定 url,必须是包含主机的完整 url
  • opts: Object, 指定附加信息

返回结果:

opts 包含请求的附加选项,支持的内容如下:

1 2 3 4 5 6
{ "query": {}, "body": SeekedStream | Buffer | String | {}, "json": {}, "headers": {} }

其中 body,json 不得同时出现。缺省为 {},不包含任何附加信息


get

用 GET 方法请求指定的 url,并返回结果,等同于 request("GET", ...)

1 2
HttpResponse HttpClient.get(String url, Object opts = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • opts: Object, 指定附加信息

返回结果:

opts 包含请求的附加选项,支持的内容如下:

1 2 3 4 5 6
{ "query": {}, "body": SeekedStream | Buffer | String | {}, "json": {}, "headers": {} }

其中 body,json 不得同时出现。缺省为 {},不包含任何附加信息


post

用 POST 方法请求指定的 url,并返回结果,等同于 request("POST", ...)

1 2
HttpResponse HttpClient.post(String url, Object opts = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • opts: Object, 指定附加信息

返回结果:

opts 包含请求的附加选项,支持的内容如下:

1 2 3 4 5 6
{ "query": {}, "body": SeekedStream | Buffer | String | {}, "json": {}, "headers": {} }

其中 body,json 不得同时出现。缺省为 {},不包含任何附加信息


del

用 DELETE 方法请求指定的 url,并返回结果,等同于 request("DELETE", ...)

1 2
HttpResponse HttpClient.del(String url, Object opts = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • opts: Object, 指定附加信息

返回结果:

opts 包含请求的附加选项,支持的内容如下:

1 2 3 4 5 6
{ "query": {}, "body": SeekedStream | Buffer | String | {}, "json": {}, "headers": {} }

其中 body,json 不得同时出现。缺省为 {},不包含任何附加信息


put

用 PUT 方法请求指定的 url,并返回结果,等同于 request("PUT", ...)

1 2
HttpResponse HttpClient.put(String url, Object opts = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • opts: Object, 指定附加信息

返回结果:

opts 包含请求的附加选项,支持的内容如下:

1 2 3 4 5 6
{ "query": {}, "body": SeekedStream | Buffer | String | {}, "json": {}, "headers": {} }

其中 body,json 不得同时出现。缺省为 {},不包含任何附加信息


patch

用 PATCH 方法请求指定的 url,并返回结果,等同于 request("PATCH", ...)

1 2
HttpResponse HttpClient.patch(String url, Object opts = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • opts: Object, 指定附加信息

返回结果:

opts 包含请求的附加选项,支持的内容如下:

1 2 3 4 5 6
{ "query": {}, "body": SeekedStream | Buffer | String | {}, "json": {}, "headers": {} }

其中 body,json 不得同时出现。缺省为 {},不包含任何附加信息


toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

1
String HttpClient.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

1
Value HttpClient.toJSON(String key = "");

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值