首页 > 代码库 > 安卓学习--http请求
安卓学习--http请求
package cn.xm.hostrequest.biz;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.util.ArrayList;import java.util.List;import org.apache.http.Header;import org.apache.http.HttpResponse;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 android.content.Context;import android.widget.Toast;import cn.xm.hostrequest.tools.StreamTools;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.AsyncHttpResponseHandler;import com.loopj.android.http.RequestParams;public class LoginService { public static boolean loginByGet(String path, String username, String password) { try { URL url = new URL(path + "?user=" + URLEncoder.encode(username, "utf-8") + "&pwd=" + URLEncoder.encode(password, "utf-8")); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5000); int code = conn.getResponseCode(); if (code == 200) { String response = StreamTools.readInputInputStream(conn .getInputStream()); if (response != null && response.equals("true")) { return true; } } } catch (Exception e) { e.printStackTrace(); } return false; } public static boolean loginByPost(String path, String username, String password) { try { // 创建 url URL url = new URL(path); // 利用 url打开连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置 请求参数 conn.setRequestMethod("POST"); // post 请求 conn.setConnectTimeout(5000); // 连接超时时间 conn.setDoOutput(true); // 充许写出输出流到 服务器 // 拼装 post请求的数据 String data = "http://www.mamicode.com/user=" + URLEncoder.encode(username, "utf-8") + "&pwd=" + URLEncoder.encode(password, "utf-8"); // 设置 消息头 conn.addRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 设置数据长度 conn.addRequestProperty("Content-Length", data.length() + ""); // 取输出流 并写入数据 OutputStream os = conn.getOutputStream(); os.write(data.getBytes()); // 执行请求 并取响应码 int code = conn.getResponseCode(); if (code == 200) { String response = StreamTools.readInputInputStream(conn .getInputStream()); if (response != null && response.equals("true")) { return true; } } } catch (Exception e) { e.printStackTrace(); } return false; } public static boolean loginByClientPost(String path, String username, String password) { try { // 打开 httpClient == 打开浏览器 HttpClient client = new DefaultHttpClient(); // 设置 要 访问的 url == form 中的 action HttpPost post = new HttpPost(path); // 创建 post 数据 == form 中填写的数据 List<NameValuePair> parameters = new ArrayList<NameValuePair>(0); parameters.add(new BasicNameValuePair("user", username)); parameters.add(new BasicNameValuePair("pwd", password)); // 设置数据 post.setEntity(new UrlEncodedFormEntity(parameters, "utf-8")); // 发送请求并得到响应 HttpResponse response = client.execute(post); // 获取响应码 int code = response.getStatusLine().getStatusCode(); if (code == 200) { String text = StreamTools.readInputInputStream(response .getEntity().getContent()); if (text != null && text.equals("true")) { return true; } } } catch (Exception e) { e.printStackTrace(); } return false; } public static boolean loginByClientGet(String path, String username, String password) { try { // 打开httpclient==打开浏览器 HttpClient client = new DefaultHttpClient(); // 生成 要访问的 url == 输入地址 HttpGet httpGet = new HttpGet(path); // 发送请求 == 敲回车 HttpResponse response = client.execute(httpGet); // 取状态码 int code = response.getStatusLine().getStatusCode(); if (code == 200) { String text = StreamTools.readInputInputStream(response .getEntity().getContent()); if (text != null && text.equals("true")) { return true; } } } catch (Exception e) { e.printStackTrace(); } return false; } public static void loginByAsyncGet(final Context context, String path, String username, String password) { AsyncHttpClient client = new AsyncHttpClient(); client.get(path + "?user=" + username + "&pwd=" + password, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { String text = new String(responseBody); if ("true".equals(text)) { Toast.makeText(context, "登陆成功", 0).show(); } else { Toast.makeText(context, "登陆失败", 0).show(); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { Toast.makeText(context, "登陆失败", 0).show(); } }); } public static void loginByAsyncPost(final Context context, String path, String username, String password) { AsyncHttpClient client = new AsyncHttpClient(); RequestParams parm = new RequestParams(); parm.put("user", username); parm.put("pwd", password); client.post(path, parm, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { String text = new String(responseBody); if ("true".equals(text)) { Toast.makeText(context, "登陆成功", 0).show(); } else { Toast.makeText(context, "登陆失败", 0).show(); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { Toast.makeText(context, "登陆失败", 0).show(); } }); }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。