public class SunServerRequest extends SunServerExchangeBase implements ServerRequest
httpExchange
DEFAULT_CHARSET
Constructor and Description |
---|
SunServerRequest(com.sun.net.httpserver.HttpExchange httpExchange)
构造
|
Modifier and Type | Method and Description |
---|---|
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伪造。 |
HttpCookie |
getCookie(String cookieName)
获得指定Cookie名对应的HttpCookie对象
|
Map<String,HttpCookie> |
getCookieMap()
获得Cookie信息Map,键为Cookie名,值为HttpCookie对象
|
Collection<HttpCookie> |
getCookies()
获得Cookie信息列表
|
String |
getHeader(String name)
获取请求头
|
com.sun.net.httpserver.Headers |
getHeaders()
获得请求header中的信息
|
String |
getMethod()
获取请求方法
|
MultipartFormData |
getMultipart()
获得MultiPart表单内容,多用于获得上传的文件
|
ListValueMap<String,String> |
getParams()
获取参数Map
|
String |
getPath()
获取请求路径,包含请求参数部分
|
String |
getQuery()
获取请求参数,包括pathVariable和queryString
|
URI |
getURI()
获得请求URI
|
close, getExchange, getHttpContext
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBody, getBody, getContentLength, getContentType, getCookiesStr, getHeader, getHeader, getParam, getParams, getUserAgent, getUserAgentStr, isGetMethod, isMultipart, isPostMethod, parseMultipart
public SunServerRequest(com.sun.net.httpserver.HttpExchange httpExchange)
httpExchange
- HttpExchange
public String getMethod()
ServerRequest
getMethod
in interface ServerRequest
public URI getURI()
public String getPath()
ServerRequest
getPath
in interface ServerRequest
public String getQuery()
ServerRequest
getQuery
in interface ServerRequest
public com.sun.net.httpserver.Headers getHeaders()
public String getHeader(String name)
ServerRequest
getHeader
in interface ServerRequest
name
- 请求头名public Charset getCharset()
ServerRequest
1、从Content-Type头中获取编码,类似于:text/html;charset=utf-8
getCharset
in interface ServerRequest
public Collection<HttpCookie> getCookies()
public Map<String,HttpCookie> getCookieMap()
public HttpCookie getCookie(String cookieName)
cookieName
- Cookie名public InputStream getBodyStream()
ServerRequest
getBodyStream
in interface ServerRequest
public byte[] getBodyBytes()
ServerRequest
getBodyBytes
in interface ServerRequest
public MultipartFormData getMultipart() throws IORuntimeException
ServerRequest
getMultipart
in interface ServerRequest
IORuntimeException
- IO异常public ListValueMap<String,String> getParams()
ServerRequest
getParams
in interface ServerRequest
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)中配置Copyright © 2025. All rights reserved.