2018-03-09 android下提交数据(request)(一)

笔记如下
  • 首先开启权限

1.HttpURLConnection

  • get
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);

  • post
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("POST");

//设置以表单的类型提交
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
//String data = "number=" + number + "&pwd=" + pwd;
String data = "number="+ URLEncoder.encode(number, "utf-8")+"&pwd="+URLEncoder.encode(pwd, "utf-8");
conn.setRequestProperty("Content-Length", data.length()+"");


//表示向服务器写数据
conn.setDoOutput(true);
conn.getOutputStream().write(data.getBytes());
conn.setConnectTimeout(5000);

 int code = conn.getResponseCode();

2.HttpClient
注:这套api已经被谷歌废弃,想要使用就要在module的build.gradle中加上

android {
    useLibrary 'org.apache.http.legacy'
}
  • get
HttpClient client = new DefaultHttpClient();

HttpGet get = new HttpGet();

//get:相当于浏览器点回车
HttpResponse response = client.execute(get);
int code = response.getStatusLine().getStatusCode();

//得到响应的实体内容
InputStream in = response.getEntity().getContent();


  • post
HttpClient client = new DefaultHttpClient();
HttpPost post  = new HttpPost(path);
List list = new ArrayList();

list.add(new BasicNameValuePair("number",number));
list.add(new BasicNameValuePair("pwd",pwd));
//设置要带给服务器的实体
post.setEntity(new UrlEncodedFormEntity(list,"UTF-8"));

HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();

//得到响应的实体内容
InputStream in = response.getEntity().getContent();

你可能感兴趣的:(2018-03-09 android下提交数据(request)(一))