-
大小: 7KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-25
- 語言: 其他
- 標簽: httpclient??
資源簡介
httpclient4.3的二次封裝,解決了代理問題、多線程問題、SSL問題、通用的get、post請求

代碼片段和文件信息
package?com.httpclint.util;
import?java.io.File;
import?java.io.IOException;
import?java.util.HashMap;
import?java.util.Iterator;
import?java.util.Map;
import?org.apache.http.HttpException;
import?org.apache.http.entity.mime.content.ByteArrayBody;
import?org.apache.http.entity.mime.content.FileBody;
/**
?*?HTTP工具類,封裝HttpClient4.3.x來對外提供簡化的HTTP請求
?*?@author???yangjian1004
?*?@Date?????Aug?5?2014?????
?*/
public?class?HttpClient?{
private?HttpProxy?proxy;
/**
?*?設置代理訪問網(wǎng)絡
?*?@param?proxy
?*/
public?void?setProxy(HttpProxy?proxy)?{
this.proxy?=?proxy;
}
/**
?*?是否啟用SSL模式
?*?@param?enabled
?*/
public?void?enableSSL(boolean?enabled)?{
HttpClientWrapper.enabledSSL(enabled);
}
/**
?*?使用Get方式?根據(jù)URL地址,獲取ResponseStatus對象
?*?
?*?@param?url
?*????????????完整的URL地址
?*?@return?ResponseStatus?如果發(fā)生異常則返回null,否則返回ResponseStatus對象
?*?@throws?IOException?
?*?@throws?HttpException?
?*/
public?ResponseStatus?get(String?url)?throws?HttpException?IOException?{
HttpClientWrapper?hw?=?new?HttpClientWrapper(proxy);
return?hw.sendRequest(url);
}
/**
?*?使用Get方式?根據(jù)URL地址,獲取ResponseStatus對象
?*?
?*?@param?url
?*????????????完整的URL地址
?*?@param?urlEncoding
?*????????????編碼,可以為null
?*?@return?ResponseStatus?如果發(fā)生異常則返回null,否則返回ResponseStatus對象
?*/
public?ResponseStatus?get(String?url?String?urlEncoding)?{
HttpClientWrapper?hw?=?new?HttpClientWrapper(proxy);
ResponseStatus?response?=?null;
try?{
response?=?hw.sendRequest(url?urlEncoding);
}?catch?(Exception?e)?{
e.printStackTrace();
}
return?response;
}
/**
?*?將參數(shù)拼裝在url中,進行post請求。
?*?
?*?@param?url
?*?@return
?*/
public?ResponseStatus?post(String?url)?{
HttpClientWrapper?hw?=?new?HttpClientWrapper(proxy);
ResponseStatus?ret?=?null;
try?{
setParams(url?hw);
ret?=?hw.postNV(url);
}?catch?(Exception?e)?{
e.printStackTrace();
}
return?ret;
}
private?void?setParams(String?url?HttpClientWrapper?hw)?{
String[]?paramStr?=?url.split(“[?]“?2);
if?(paramStr?==?null?||?paramStr.length?!=?2)?{
return;
}
String[]?paramArray?=?paramStr[1].split(“[&]“);
if?(paramArray?==?null)?{
return;
}
for?(String?param?:?paramArray)?{
if?(param?==?null?||?““.equals(param.trim()))?{
continue;
}
String[]?keyValue?=?param.split(“[=]“?2);
if?(keyValue?==?null?||?keyValue.length?!=?2)?{
continue;
}
hw.addNV(keyValue[0]?keyValue[1]);
}
}
/**
?*?上傳文件(包括圖片)
?*?
?*?@param?url
?*????????????請求URL
?*?@param?paramsMap
?*????????????參數(shù)和值
?*?@return
?*/
public?ResponseStatus?post(String?url?Mapject>?paramsMap)?{
HttpClientWrapper?hw?=?new?HttpClientWrapper(proxy);
ResponseStatus?ret?=?null;
try?{
setParams(url?hw);
Iterator?iterator?=?paramsMap.keySet().iterator();
while?(iterator.hasNext())?{
String?key?=?iterator.next();
object?value?=?paramsMa
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5756??2014-09-15?16:51??httpclient4.3\HttpClient.java
?????文件??????15629??2014-09-15?17:09??httpclient4.3\HttpClientWrapper.java
?????文件???????1062??2014-09-15?14:50??httpclient4.3\HttpProxy.java
?????文件???????1827??2014-09-15?15:34??httpclient4.3\ResponseStatus.java
?????目錄??????????0??2014-09-16?10:44??httpclient4.3
-----------?---------??----------?-----??----
????????????????24274????????????????????5
- 上一篇:tab上畫圖的
- 下一篇:arm下圖片顯示,jpeg,bmp,png三種圖片
評論
共有 條評論