Package | Description |
---|---|
cn.hutool.http |
Hutool-http针对JDK的HttpUrlConnection做一层封装,简化了HTTPS请求、文件上传、Cookie记忆等操作,使Http请求变得无比简单。
|
Modifier and Type | Method and Description |
---|---|
HttpRequest |
HttpRequest.addInterceptor(HttpInterceptor<HttpRequest> interceptor)
设置拦截器,用于在请求前重新编辑请求
|
HttpRequest |
HttpRequest.addRequestInterceptor(HttpInterceptor<HttpRequest> interceptor)
设置拦截器,用于在请求前重新编辑请求
|
HttpRequest |
HttpRequest.addResponseInterceptor(HttpInterceptor<HttpResponse> interceptor)
设置拦截器,用于在请求前重新编辑请求
|
HttpRequest |
HttpRequest.auth(String content)
验证,简单插入Authorization头
|
HttpRequest |
HttpRequest.basicAuth(String username,
String password)
简单验证,生成的头信息类似于:
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
|
HttpRequest |
HttpRequest.basicProxyAuth(String username,
String password)
简单代理验证,生成的头信息类似于:
Proxy-Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
|
HttpRequest |
HttpRequest.bearerAuth(String token)
令牌验证,生成的头类似于:"Authorization: Bearer XXXXX",一般用于JWT
|
HttpRequest |
HttpRequest.body(byte[] bodyBytes)
设置主体字节码
需在此方法调用前使用charset方法设置编码,否则使用默认编码UTF-8 |
HttpRequest |
HttpRequest.body(Resource resource)
设置主体字节码
需在此方法调用前使用charset方法设置编码,否则使用默认编码UTF-8 |
HttpRequest |
HttpRequest.body(String body)
设置内容主体
请求体body参数支持两种类型: 1. |
HttpRequest |
HttpRequest.body(String body,
String contentType)
设置内容主体
请求体body参数支持两种类型: 1. |
HttpRequest |
HttpRequest.contentLength(int value)
设置内容长度
|
HttpRequest |
HttpRequest.contentType(String contentType)
设置contentType
|
HttpRequest |
HttpRequest.cookie(Collection<HttpCookie> cookies)
设置Cookie
自定义Cookie后会覆盖Hutool的默认Cookie行为 |
HttpRequest |
HttpRequest.cookie(HttpCookie... cookies)
设置Cookie
自定义Cookie后会覆盖Hutool的默认Cookie行为 |
HttpRequest |
HttpRequest.cookie(String cookie)
设置Cookie
自定义Cookie后会覆盖Hutool的默认Cookie行为 |
static HttpRequest |
HttpUtil.createGet(String url)
创建Http GET请求对象
|
static HttpRequest |
HttpUtil.createGet(String url,
boolean isFollowRedirects)
创建Http GET请求对象
|
static HttpRequest |
HttpUtil.createPost(String url)
创建Http POST请求对象
|
static HttpRequest |
HttpUtil.createRequest(Method method,
String url)
创建Http请求对象
|
static HttpRequest |
HttpRequest.delete(String url)
DELETE请求
|
HttpRequest |
HttpRequest.disableCache()
禁用缓存
|
HttpRequest |
HttpRequest.disableCookie()
禁用默认Cookie行为,此方法调用后会将Cookie置为空。
|
HttpRequest |
HttpRequest.enableDefaultCookie()
打开默认的Cookie行为(自动回填服务器传回的Cookie)
|
HttpRequest |
HttpRequest.form(Map<String,Object> formMap)
设置map类型表单数据
|
HttpRequest |
HttpRequest.form(String name,
byte[] fileBytes,
String fileName)
文件byte[]表单项
一旦有文件加入,表单变为multipart/form-data |
HttpRequest |
HttpRequest.form(String name,
File... files)
文件表单项
一旦有文件加入,表单变为multipart/form-data |
HttpRequest |
HttpRequest.form(String name,
File file)
文件表单项
一旦有文件加入,表单变为multipart/form-data |
HttpRequest |
HttpRequest.form(String name,
File file,
String fileName)
文件表单项
一旦有文件加入,表单变为multipart/form-data |
HttpRequest |
HttpRequest.form(String name,
Object value)
设置表单数据
|
HttpRequest |
HttpRequest.form(String name,
Object value,
Object... parameters)
设置表单数据
|
HttpRequest |
HttpRequest.form(String name,
Resource resource)
文件表单项
一旦有文件加入,表单变为multipart/form-data |
HttpRequest |
HttpRequest.formStr(Map<String,String> formMapStr)
设置map<String, String>类型表单数据
|
static HttpRequest |
HttpRequest.get(String url)
GET请求
|
static HttpRequest |
HttpRequest.head(String url)
HEAD请求
|
HttpRequest |
HttpRequest.keepAlive(boolean isKeepAlive)
设置是否为长连接
|
HttpRequest |
HttpRequest.method(Method method)
设置请求方法
|
static HttpRequest |
HttpRequest.of(String url)
构建一个HTTP请求
对于传入的URL,可以自定义是否解码已经编码的内容,设置见 HttpGlobalConfig.setDecodeUrl(boolean) 在构建Http请求时,用户传入的URL可能有编码后和未编码的内容混合在一起,如果 HttpGlobalConfig.isDecodeUrl() 为true ,则会统一解码编码后的参数,按照RFC3986规范,在发送请求时,全部编码之。 |
static HttpRequest |
HttpRequest.of(String url,
Charset charset)
构建一个HTTP请求
对于传入的URL,可以自定义是否解码已经编码的内容。 |
static HttpRequest |
HttpRequest.of(UrlBuilder url)
构建一个HTTP请求
|
static HttpRequest |
HttpRequest.options(String url)
OPTIONS请求
|
static HttpRequest |
HttpRequest.patch(String url)
PATCH请求
|
static HttpRequest |
HttpRequest.post(String url)
POST请求
|
HttpRequest |
HttpRequest.proxyAuth(String content)
验证,简单插入Authorization头
|
static HttpRequest |
HttpRequest.put(String url)
PUT请求
|
HttpRequest |
HttpRequest.setChunkedStreamingMode(int blockSize)
采用流方式上传数据,无需本地缓存数据。
|
HttpRequest |
HttpRequest.setConfig(HttpConfig config)
将新的配置加入
注意加入的配置可能被修改 |
HttpRequest |
HttpRequest.setConnectionTimeout(int milliseconds)
设置连接超时,单位:毫秒
|
HttpRequest |
HttpRequest.setFixedContentLength(long contentLength)
设置固定长度的流模式,会设置HTTP请求头中的Content-Length字段,告知服务器整个请求体的精确字节大小。
|
HttpRequest |
HttpRequest.setFollowRedirects(boolean isFollowRedirects)
设置是否打开重定向,如果打开默认重定向次数为2
此方法效果与 setMaxRedirectCount(int) 一致
需要注意的是,当设置为true 时,如果全局重定向次数非0,直接复用,否则设置默认2次。 |
HttpRequest |
HttpRequest.setFollowRedirectsCookie(boolean followRedirectsCookie)
自动重定向时是否处理cookie
|
HttpRequest |
HttpRequest.setHostnameVerifier(HostnameVerifier hostnameVerifier)
设置域名验证器
只针对HTTPS请求,如果不设置,不做验证,所有域名被信任 |
HttpRequest |
HttpRequest.setHttpProxy(String host,
int port)
设置Http代理
|
HttpRequest |
HttpRequest.setMaxRedirectCount(int maxRedirectCount)
设置最大重定向次数
如果次数小于1则表示不重定向,大于等于1表示打开重定向 |
HttpRequest |
HttpRequest.setMethod(Method method)
设置请求方法
|
HttpRequest |
HttpRequest.setProxy(Proxy proxy)
设置代理
|
HttpRequest |
HttpRequest.setReadTimeout(int milliseconds)
设置连接超时,单位:毫秒
|
HttpRequest |
HttpRequest.setRest(boolean isRest)
设置是否rest模式
rest模式下get请求不会把参数附加到URL之后 |
HttpRequest |
HttpRequest.setSSLProtocol(String protocol)
设置HTTPS安全连接协议,只针对HTTPS请求,可以使用的协议包括:
此方法调用后 setSSLSocketFactory(SSLSocketFactory) 将被覆盖。 |
HttpRequest |
HttpRequest.setSSLSocketFactory(SSLSocketFactory ssf)
设置SSLSocketFactory
只针对HTTPS请求,如果不设置,使用默认的SSLSocketFactory 默认SSLSocketFactory为:SSLSocketFactoryBuilder.create().build(); |
HttpRequest |
HttpRequest.setUrl(String url)
设置URL
|
HttpRequest |
HttpRequest.setUrl(UrlBuilder urlBuilder)
设置URL
|
HttpRequest |
HttpRequest.setUrlHandler(URLStreamHandler urlHandler)
设置
URLStreamHandler
部分环境下需要单独设置此项,例如当 WebLogic Server 实例充当 SSL 客户端角色(它会尝试通过 SSL 连接到其他服务器或应用程序)时,它会验证 SSL 服务器在数字证书中返回的主机名是否与用于连接 SSL 服务器的 URL 主机名相匹配。 |
HttpRequest |
HttpRequest.timeout(int milliseconds)
设置超时,单位:毫秒
超时包括: 1. |
static HttpRequest |
HttpRequest.trace(String url)
TRACE请求
|
Modifier and Type | Method and Description |
---|---|
HttpRequest |
HttpRequest.addInterceptor(HttpInterceptor<HttpRequest> interceptor)
设置拦截器,用于在请求前重新编辑请求
|
HttpRequest |
HttpRequest.addRequestInterceptor(HttpInterceptor<HttpRequest> interceptor)
设置拦截器,用于在请求前重新编辑请求
|
HttpConfig |
HttpConfig.addRequestInterceptor(HttpInterceptor<HttpRequest> interceptor)
设置拦截器,用于在请求前重新编辑请求
|
GlobalInterceptor |
GlobalInterceptor.addRequestInterceptor(HttpInterceptor<HttpRequest> interceptor)
设置拦截器,用于在请求前重新编辑请求
|
Copyright © 2024. All rights reserved.