public class HttpClient
extends java.lang.Object
默认用post传参, 将参数放到正文内容中传给服务器(写入conn.getOutputStream). 服务器通过req.getInputStream得到json格式的参数. (该方式无法通过req.getParameter来获取参数, 需要用封装后的WebUtils.getHTTPRequestParameter)
如果一个请求, 既有正文内容, 又有参数传递. 那么正文内容会作为一个参数放进参数的json里, key为HttpClient.CONTENT 在服务器端通过WebUtils.getHTTPRequestParameter(req, HttpClient.CONTENT) 来获取正文内容
有没有方式能够将参数放到正文里, 并且可以通过req.getParameter来获取参数呢 应该是有, 通过直接封装底层的Socket来完全实现通信, 而不是用HttpURLConnection. Apache的HttpClient就是这么做的, 但目前用Apache的包跟客户的工程集成经常jar包冲突. 因此目前是简单封装一个http类. 如果以后需要用复杂功能, 只能把Apache的打进third.
HttpToolbox| 构造器和说明 |
|---|
HttpClient(java.lang.String url)
已过时。
|
HttpClient(java.lang.String url,
java.util.HashMap<java.lang.String,java.lang.String> para)
已过时。
|
HttpClient(java.lang.String url,
java.util.HashMap<java.lang.String,java.lang.String> para,
boolean encode)
已过时。
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
asGet()
已过时。
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getAllHeader()
已过时。
|
int |
getContentLength()
已过时。
|
java.lang.String |
getHeaderField(java.lang.String key)
已过时。
|
java.util.Iterator<java.lang.String> |
getHeaderFieldIterator(java.lang.String key)
已过时。
|
static java.io.InputStream |
getInputStream(javax.servlet.http.HttpServletRequest req)
已过时。
|
byte[] |
getResponseBytes()
已过时。
|
int |
getResponseCode()
已过时。
|
int |
getResponseCode(boolean noException)
已过时。
|
int |
getResponseCodeNoException()
已过时。
|
java.io.InputStream |
getResponseStream()
已过时。
|
java.lang.String |
getResponseText()
已过时。
|
java.lang.String |
getResponseText(java.lang.String encode)
已过时。
|
java.lang.String |
getResponseTextOrErrorMsg()
已过时。
|
java.lang.String |
getResponseTextOrErrorMsg(java.lang.String encode)
已过时。
|
boolean |
isServerAlive()
已过时。
|
void |
release()
已过时。
|
void |
setCharSet(java.lang.String charSet)
已过时。
|
void |
setContent(byte[] content)
已过时。
|
void |
setHeader(java.lang.String header)
已过时。
|
void |
setTimeout(int timeout)
已过时。
|
public static final java.lang.String CLOSED
public static final java.lang.String CHARSET
public HttpClient(java.lang.String url)
url - 指定的url连接HttpToolboxpublic HttpClient(java.lang.String url,
java.util.HashMap<java.lang.String,java.lang.String> para)
url - 指定的url连接para - 指定的参数列表HttpToolboxpublic HttpClient(java.lang.String url,
java.util.HashMap<java.lang.String,java.lang.String> para,
boolean encode)
url - 指定的url连接para - 指定的参数列表encode - 是否需要对参数进行URLEncode编码(处理特殊符号)HttpToolboxpublic void asGet()
HttpToolboxpublic void setContent(byte[] content)
content - 正文内容, 如xmlHttpToolboxpublic void setHeader(java.lang.String header)
header - json格式的头文件信息HttpToolboxpublic void setTimeout(int timeout)
timeout - 超时时间HttpToolboxpublic void setCharSet(java.lang.String charSet)
charSet - 编码格式HttpToolboxpublic boolean isServerAlive()
HttpToolboxpublic int getResponseCodeNoException()
HttpToolboxpublic int getResponseCode(boolean noException)
noException - 是否打印异常信息, true不打印HttpToolboxpublic int getResponseCode()
HttpToolboxpublic java.lang.String getResponseText()
HttpToolboxpublic java.lang.String getResponseTextOrErrorMsg()
HttpToolboxpublic java.lang.String getResponseTextOrErrorMsg(java.lang.String encode)
encode - 编码格式HttpToolboxpublic byte[] getResponseBytes()
HttpToolboxpublic java.lang.String getResponseText(java.lang.String encode)
encode - 编码格式HttpToolboxpublic java.io.InputStream getResponseStream()
HttpToolboxpublic int getContentLength()
HttpToolboxpublic java.lang.String getHeaderField(java.lang.String key)
key - 指定的密钥HttpToolboxpublic java.util.Iterator<java.lang.String> getHeaderFieldIterator(java.lang.String key)
key - 指定的keyHttpToolboxpublic java.util.Map<java.lang.String,java.util.List<java.lang.String>> getAllHeader()
HttpToolboxpublic void release()
HttpToolboxpublic static java.io.InputStream getInputStream(javax.servlet.http.HttpServletRequest req)
req - HTTP请求HttpToolbox