public class HttpUtil {
//单例
private static final HttpUtil util = new HttpUtil();
private static final String TAG = "HttpUtil";
//饿汉式,直接请求
public static HttpUtil getInstance(){
return util;
}
//get异步请求
public void GetHttp(String strUrl , final CallBack callBack){
new AsyncTask<String , Void , String>(){
@Override
protected String doInBackground(String... strings) {
return null;
}
@Override
protected void onPostExecute(String s) {
if (!TextUtils.isEmpty(s)){
callBack.Success(s);
}else {
callBack.Error(503,"未请求到数据");
}
}
}.execute(strUrl);
}
//post异步请求
public void PostHttp(final String url , final String phone , final String pwd , final CallBack callBack){
new AsyncTask<String , Void , String>(){
@Override
protected String doInBackground(String... strings) {
return PostData(strings[0] , strings[1] , strings[2]);
}
@Override
protected void onPostExecute(String s) {
if (!TextUtils.isEmpty(s)){
callBack.Success(s);
}else {
callBack.Error(503,"未请求到数据");
}
}
}.execute(url , phone , pwd);
}
//get请求
private String GetData(String strUrl){
HttpURLConnection httpURLConnection = null;
try {
URL url = new URL(strUrl);
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setConnectTimeout(5000);
httpURLConnection.setReadTimeout(5000);
if (httpURLConnection.getResponseCode() == httpURLConnection.HTTP_OK){
InputStream inputStream = httpURLConnection.getInputStream();
String s = new String(ByteStreams.toByteArray(inputStream));
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//post请求
private String PostData(String strUrl , String phone , String pwd){
HttpURLConnection httpURLConnection = null;
try {
URL url = new URL(strUrl);
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setConnectTimeout(5000);
httpURLConnection.setReadTimeout(5000);
String body = "phone=" + URLEncoder.encode(phone) + "&pwd=" + URLEncoder.encode(pwd);
httpURLConnection.getOutputStream().write(body.getBytes());
if (httpURLConnection.getResponseCode() == httpURLConnection.HTTP_OK){
InputStream inputStream = httpURLConnection.getInputStream();
String s = new String(ByteStreams.toByteArray(inputStream));
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public interface CallBack{
void Success(String result);
void Error(int err , String message);
}
}