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连接HttpToolbox
public HttpClient(java.lang.String url, java.util.HashMap<java.lang.String,java.lang.String> para)
url
- 指定的url连接para
- 指定的参数列表HttpToolbox
public HttpClient(java.lang.String url, java.util.HashMap<java.lang.String,java.lang.String> para, boolean encode)
url
- 指定的url连接para
- 指定的参数列表encode
- 是否需要对参数进行URLEncode编码(处理特殊符号)HttpToolbox
public void asGet()
HttpToolbox
public void setContent(byte[] content)
content
- 正文内容, 如xmlHttpToolbox
public void setHeader(java.lang.String header)
header
- json格式的头文件信息HttpToolbox
public void setTimeout(int timeout)
timeout
- 超时时间HttpToolbox
public void setCharSet(java.lang.String charSet)
charSet
- 编码格式HttpToolbox
public boolean isServerAlive()
HttpToolbox
public int getResponseCodeNoException()
HttpToolbox
public int getResponseCode(boolean noException)
noException
- 是否打印异常信息, true不打印HttpToolbox
public int getResponseCode()
HttpToolbox
public java.lang.String getResponseText()
HttpToolbox
public java.lang.String getResponseTextOrErrorMsg()
HttpToolbox
public java.lang.String getResponseTextOrErrorMsg(java.lang.String encode)
encode
- 编码格式HttpToolbox
public byte[] getResponseBytes()
HttpToolbox
public java.lang.String getResponseText(java.lang.String encode)
encode
- 编码格式HttpToolbox
public java.io.InputStream getResponseStream()
HttpToolbox
public int getContentLength()
HttpToolbox
public java.lang.String getHeaderField(java.lang.String key)
key
- 指定的密钥HttpToolbox
public java.util.Iterator<java.lang.String> getHeaderFieldIterator(java.lang.String key)
key
- 指定的keyHttpToolbox
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getAllHeader()
HttpToolbox
public void release()
HttpToolbox
public static java.io.InputStream getInputStream(javax.servlet.http.HttpServletRequest req)
req
- HTTP请求HttpToolbox