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

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

1
readonly List 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 headers = {}) async;

调用参数:

  • method: String, 指定 http 请求方法:GET, POST 等
  • url: String, 指定 url,必须是包含主机的完整 url
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

1 2 3 4
HttpResponse HttpClient.request(String method, String url, SeekableStream body, Map headers) async;

调用参数:

  • method: String, 指定 http 请求方法:GET, POST 等
  • url: String, 指定 url,必须是包含主机的完整 url
  • body: SeekableStream, 指定发送的 body 内容
  • headers: Map, 指定附加的 http

返回结果:


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

1 2 3 4
HttpResponse HttpClient.request(String method, String url, SeekableStream body, Object headers = {}) async;

调用参数:

  • method: String, 指定 http 请求方法:GET, POST 等
  • url: String, 指定 url,必须是包含主机的完整 url
  • body: SeekableStream, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

1 2 3 4
HttpResponse HttpClient.request(String method, String url, Buffer body, Object headers = {}) async;

调用参数:

  • method: String, 指定 http 请求方法:GET, POST 等
  • url: String, 指定 url,必须是包含主机的完整 url
  • body: Buffer, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


get

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

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

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


post

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

1 2 3
HttpResponse HttpClient.post(String url, SeekableStream body, Object headers = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • body: SeekableStream, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

1 2 3
HttpResponse HttpClient.post(String url, Buffer body, Object headers = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • body: Buffer, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

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

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


del

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

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

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


put

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

1 2 3
HttpResponse HttpClient.put(String url, SeekableStream body, Object headers = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • body: SeekableStream, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

1 2 3
HttpResponse HttpClient.put(String url, Buffer body, Object headers = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • body: Buffer, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

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

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


patch

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

1 2 3
HttpResponse HttpClient.patch(String url, SeekableStream body, Object headers = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • body: SeekableStream, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

1 2 3
HttpResponse HttpClient.patch(String url, Buffer body, Object headers = {}) async;

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • body: Buffer, 指定发送的 body 内容
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


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

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

调用参数:

  • url: String, 指定 url,必须是包含主机的完整 url
  • headers: Object, 指定附加的 http 头,缺省无附加头

返回结果:


dispose

强制回收对象,调用此方法后,对象资源将立即释放

1
HttpClient.dispose();

equals

比较当前对象与给定的对象是否相等

1
Boolean HttpClient.equals(object expected);

调用参数:

  • expected: object, 制定比较的目标对象

返回结果:

  • Boolean, 返回对象比较的结果

toString

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

1
String HttpClient.toString();

返回结果:

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

toJSON

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

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

调用参数:

  • key: String, 未使用

返回结果:

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