public class HttpServerRequest extends HttpServerBase
HttpExchange
封装Constructor and Description |
---|
HttpServerRequest(com.sun.net.httpserver.HttpExchange httpExchange)
构造
|
Modifier and Type | Method and Description |
---|---|
String |
getBody()
获取请求体文本,可以是form表单、json、xml等任意内容
使用 getCharset() 判断编码,判断失败使用UTF-8编码 |
String |
getBody(Charset charset)
获取请求体文本,可以是form表单、json、xml等任意内容
|
byte[] |
getBodyBytes()
获取body的bytes数组
|
InputStream |
getBodyStream()
获取请求体的流,流中可以读取请求内容,包括请求表单数据或文件上传数据
|
Charset |
getCharset()
获取编码,获取失败默认使用UTF-8,获取规则如下:
1、从Content-Type头中获取编码,类似于:text/html;charset=utf-8
|
String |
getClientIP(String... otherHeaderNames)
获取客户端IP
默认检测的Header:
1、X-Forwarded-For
2、X-Real-IP
3、Proxy-Client-IP
4、WL-Proxy-Client-IP
otherHeaderNames参数用于自定义检测的Header
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。 |
String |
getClientIPByHeader(String... headerNames)
获取客户端IP
headerNames参数用于自定义检测的Header
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。 |
String |
getContentType()
获取Content-Type头信息
|
HttpCookie |
getCookie(String cookieName)
获得指定Cookie名对应的HttpCookie对象
|
Map<String,HttpCookie> |
getCookieMap()
获得Cookie信息Map,键为Cookie名,值为HttpCookie对象
|
Collection<HttpCookie> |
getCookies()
获得Cookie信息列表
|
String |
getCookiesStr()
获得Cookie信息字符串
|
String |
getHeader(Header headerKey)
获得请求header中的信息
|
String |
getHeader(String headerKey)
获得请求header中的信息
|
String |
getHeader(String headerKey,
Charset charset)
获得请求header中的信息
|
com.sun.net.httpserver.Headers |
getHeaders()
获得请求header中的信息
|
String |
getMethod()
获得Http Method
|
MultipartFormData |
getMultipart()
获得MultiPart表单内容,多用于获得上传的文件
|
String |
getParam(String name)
获取指定名称的参数值,取第一个值
|
ListValueMap<String,String> |
getParams()
获取参数Map
|
List<String> |
getParams(String name)
获取指定名称的参数值
|
String |
getPath()
获得请求路径Path
|
String |
getQuery()
获取请求参数
|
URI |
getURI()
获得请求URI
|
UserAgent |
getUserAgent()
获得User-Agent,未识别返回null
|
String |
getUserAgentStr()
获得User-Agent
|
boolean |
isGetMethod()
是否为GET请求
|
boolean |
isMultipart()
是否为Multipart类型表单,此类型表单用于文件上传
|
boolean |
isPostMethod()
是否为POST请求
|
MultipartFormData |
parseMultipart(UploadSetting uploadSetting)
获得multipart/form-data 表单内容
包括文件和普通表单数据 在同一次请求中,此方法只能被执行一次! |
close, getHttpContext, getHttpExchange
public HttpServerRequest(com.sun.net.httpserver.HttpExchange httpExchange)
httpExchange
- HttpExchange
public String getMethod()
public boolean isGetMethod()
public boolean isPostMethod()
public URI getURI()
public String getPath()
public String getQuery()
public com.sun.net.httpserver.Headers getHeaders()
public String getHeader(Header headerKey)
headerKey
- 头信息的KEYpublic String getHeader(String headerKey)
headerKey
- 头信息的KEYpublic String getHeader(String headerKey, Charset charset)
headerKey
- 头信息的KEYcharset
- 字符集public String getContentType()
public Charset getCharset()
1、从Content-Type头中获取编码,类似于:text/html;charset=utf-8
public String getUserAgentStr()
public UserAgent getUserAgent()
public String getCookiesStr()
public Collection<HttpCookie> getCookies()
public Map<String,HttpCookie> getCookieMap()
public HttpCookie getCookie(String cookieName)
cookieName
- Cookie名public boolean isMultipart()
public String getBody()
getCharset()
判断编码,判断失败使用UTF-8编码public String getBody(Charset charset)
charset
- 编码public byte[] getBodyBytes()
public InputStream getBodyStream()
public String getParam(String name)
name
- 参数名public List<String> getParams(String name)
name
- 参数名public ListValueMap<String,String> getParams()
public String getClientIP(String... otherHeaderNames)
默认检测的Header:
1、X-Forwarded-For 2、X-Real-IP 3、Proxy-Client-IP 4、WL-Proxy-Client-IP
otherHeaderNames参数用于自定义检测的Header
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。
otherHeaderNames
- 其他自定义头文件,通常在Http服务器(例如Nginx)中配置public String getClientIPByHeader(String... headerNames)
headerNames参数用于自定义检测的Header
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。
headerNames
- 自定义头,通常在Http服务器(例如Nginx)中配置public MultipartFormData getMultipart() throws IORuntimeException
IORuntimeException
- IO异常public MultipartFormData parseMultipart(UploadSetting uploadSetting) throws IORuntimeException
uploadSetting
- 上传文件的设定,包括最大文件大小、保存在内存的边界大小、临时目录、扩展名限定等IORuntimeException
- IO异常Copyright © 2024. All rights reserved.