美文网首页
2018-03-09 android下提交数据(request)

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

作者: 紫杉叶子 | 来源:发表于2018-03-11 08:51 被阅读0次
    笔记如下
    • 首先开启权限
    <uses-permission android:name="android.permission.INTERNET"/>
    

    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<NameValuePair> list = new ArrayList<NameValuePair>();
    
    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)

          本文链接:https://www.haomeiwen.com/subject/uyamfftx.html