public class SunServerRequest extends SunServerExchangeBase implements ServerRequest
httpExchangeDEFAULT_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, getHttpContextclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBody, getBody, getContentLength, getContentType, getCookiesStr, getHeader, getHeader, getParam, getParams, getUserAgent, getUserAgentStr, isGetMethod, isMultipart, isPostMethod, parseMultipartpublic SunServerRequest(com.sun.net.httpserver.HttpExchange httpExchange)
httpExchange - HttpExchangepublic String getMethod()
ServerRequestgetMethod in interface ServerRequestpublic URI getURI()
public String getPath()
ServerRequestgetPath in interface ServerRequestpublic String getQuery()
ServerRequestgetQuery in interface ServerRequestpublic com.sun.net.httpserver.Headers getHeaders()
public String getHeader(String name)
ServerRequestgetHeader in interface ServerRequestname - 请求头名public Charset getCharset()
ServerRequest
1、从Content-Type头中获取编码,类似于:text/html;charset=utf-8
getCharset in interface ServerRequestpublic Collection<HttpCookie> getCookies()
public Map<String,HttpCookie> getCookieMap()
public HttpCookie getCookie(String cookieName)
cookieName - Cookie名public InputStream getBodyStream()
ServerRequestgetBodyStream in interface ServerRequestpublic byte[] getBodyBytes()
ServerRequestgetBodyBytes in interface ServerRequestpublic MultipartFormData getMultipart() throws IORuntimeException
ServerRequestgetMultipart in interface ServerRequestIORuntimeException - IO异常public ListValueMap<String,String> getParams()
ServerRequestgetParams in interface ServerRequestpublic 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.