一、客户端类说明

1.客户端类说明

可实现一次 Socket 连接多次不断的发送 Http 请求,即 HTTP 协议的 keep-alive 模式。

类路径:

  1. org.voovan.http.client.HttpClient

方法说明:

1.构造函数
  1. public HttpClient(String urlString)
  2. public HttpClient(String urlString,int timeOut)
  3. public HttpClient(String urlString,String charset,int timeOut)
  4. public HttpClient(String urlString,String charset)
  • 构造一个 HttpClient 对象。
  • urlString: 请求的 URL 地址。
  • timeOut: 请求超时时间。
  • charset: 请求使用的字符集,默认 UTF-8。
2.HTTP方法设置
  1. public void setMethod(String method)
  • 为当前 HTTP 设置请求方法,如:GETPOSTHEADCONNECTTRACEDELETE等。
  • method: 方法字符串。
3.HTTP Headder设置
  1. public Header getHeader()
  • 返回值: HTTP 请求头。
4.获取请求Cookies集合
  1. public List<Cookie> getCookies()
  • 返回值: 获取HTTPCookies集合。
5.判断是否处于连接状态
  1. public synchronized boolean isConnect()
  • 返回值: true:连接,false:未连接。
6.设置HTTP请求参数
  1. public HttpClient putParameters(String name,Object value)
  • 为HTTP设置请求参数,这里设置的参数会根据 GET/POST(但不包括multipart/form-data请求) 等请求的规范自动附加到请求中。
  • name: 参数名。
  • value: 参数值。
7.添加HTTP multipart请求
  1. public void addPart(Part part)
  • 类似Form 的 Actiong="POST" enctype="multipart/form-data"提交的请求。
  • part: org.voovan.http.message.packet.Part对象封装了HTTP multipart请求,Part对象的有一个方便的构造函数:
  1. public Part(String name,String value)
  • name: 参数名。
  • value: 参数值。
8.获取HTTP请求参数
  1. public Map<String,Object> getParameters()
  • 获取 HTTP 请求的所有参数集合。
9.设置HTTP请求内容
  1. public HttpClient setData(byte[] data)
  2. public HttpClient setData(String data)
  3. public HttpClient setData(String data, String charset)
  • 为HTTP设置请求内容。
  • data: 请求内容数据。
  • charset: 请求内容使用的字符集。
10.HTTP请求发送
  1. public Response Send() throws Exception
  2. public Response Send(String urlString) throws Exception
  • 发送HTTP请求,默认访问域名根。
  • urlString: 相对于主机的相对 URL 路径,用于一次连接主机多次请求操作. 例如:访问的网址是 http://www.baid.com/s ,那么构造 HttpClient 时使用http://www.baid.com/作为参数,调用 send 时使用/s作为参数。
  • 返回值: Response对象。
11.HTTP读取流报文内容
  1. public ByteBuffer loadStream() throws IOException
  • 读取 HTTP响应中的流报文内容,例如 Docker 的 exec 和 log 命令,loadStream方法会返回当前缓冲区内的所有字节。
12.HTTP上传文件
  1. public void uploadFile(String name, File file)
  • 发送HTTP请求,上传指定文件。
  • name: 被上传文件对应的请求参数名.
  • file: 被上传文件的文件对象。