• 一、客户端类说明
    • 1.客户端类说明
    • 类路径:
    • 方法说明:
      • 1.构造函数
      • 2.HTTP方法设置
      • 3.HTTP Headder设置
      • 4.获取请求Cookies集合
      • 5.判断是否处于连接状态
      • 6.设置HTTP请求参数
      • 7.添加HTTP multipart请求
      • 8.获取HTTP请求参数
      • 9.设置HTTP请求内容
      • 10.HTTP请求发送
      • 11.HTTP读取流报文内容
      • 12.HTTP上传文件

    一、客户端类说明

    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: 被上传文件的文件对象。