package com.dp.util
import java.util.ArrayList
import java.util.List
import java.util.Map
import java.util.Map.Entry
import org.apache.http.HttpEntity
import org.apache.http.HttpResponse
import org.apache.http.HttpStatus
import org.apache.http.NameValuePair
import org.apache.http.client.HttpClient
import org.apache.http.client.entity.UrlEncodedFormEntity
import org.apache.http.client.methods.HttpGet
import org.apache.http.client.methods.HttpPost
import org.apache.http.impl.client.DefaultHttpClient
import org.apache.http.message.BasicNameValuePair
import org.apache.http.params.CoreConnectionPNames
import org.apache.http.params.HttpConnectionParams
import org.apache.http.protocol.HTTP
import org.apache.http.util.EntityUtils
import com.android.volley.DefaultRetryPolicy
import com.android.volley.Request.Method
import com.android.volley.Response.ErrorListener
import com.android.volley.Response.Listener
import com.android.volley.toolbox.StringRequest
public class HttpClientUtils {
public static String post(String url, Map<String, String> params) {
try {
List<NameValuePair> postParams = new ArrayList<NameValuePair>()
StringBuffer auth = new StringBuffer()
StringBuffer token = new StringBuffer()
for (Entry<String, String> entry : params.entrySet()) {
if ("".equals(auth.toString())) {
auth.append(entry.getKey())
} else {
auth.append("," + entry.getKey())
}
token.append(entry.getValue())
postParams.add(new BasicNameValuePair(entry.getKey(), entry.getValue()))
}
// 创建POST请求
HttpPost request = new HttpPost(url)
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(postParams,HTTP.UTF_8)
request.setEntity(entity)
HttpClient client = new DefaultHttpClient()
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 15000)
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 15000)
HttpResponse response = client.execute(request)
if(response.getStatusLine().getStatusCode()!=HttpStatus.SC_OK){
throw new RuntimeException("请求失败")
}
HttpEntity resEntity = response.getEntity()
return (resEntity == null) ? null : EntityUtils.toString(resEntity, HTTP.UTF_8)
} catch (Exception e) {
return null
}
}
public static String get(String url){
HttpGet httpGet = new HttpGet(url)
//设置连接超时或响应超时
HttpConnectionParams.setConnectionTimeout(httpGet.getParams(), 15000)
HttpConnectionParams.setSoTimeout(httpGet.getParams(), 15000)
//创建一个网络访问处理对象
HttpClient httpClient = new DefaultHttpClient()
try{
HttpResponse response = httpClient.execute(httpGet)
if(response.getStatusLine().getStatusCode()!=HttpStatus.SC_OK){
throw new RuntimeException("请求失败")
}
HttpEntity resEntity = response.getEntity()
return (resEntity == null) ? null : EntityUtils.toString(resEntity, HTTP.UTF_8)
}catch(Exception e){
return null
}finally{
//释放网络连接资源
httpClient.getConnectionManager().shutdown()
}
}
}