HttPClient的POST用法

  • package com.httpclientpost;

    import android.os.AsyncTask;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;

    import org.apache.http.HttpEntity;
    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.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;

    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.util.ArrayList;
    import java.util.List;

    public class MainActivity extends AppCompatActivity {

    String url="http://v.juhe.cn/toutiao/index";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //执行异步的方法
    new MyAsyncTask().execute(url);
    }

    class MyAsyncTask extends AsyncTask<String,Integer,String>
    {

    /**
    * 请求网络数据的方法
    * @param strings
    * @return
    */
    @Override
    protected String doInBackground(String... strings) {

    String key="22a108244dbb8d1f49967cd74a0c144d";
    //存放从网络上获取的json串
    StringBuffer result=new StringBuffer();
    try {
    HttpClient client=new DefaultHttpClient();
    //创建HttpPost post方法
    HttpPost httpPost=new HttpPost(strings[0]);
    //封装传递参数的集合
    List<NameValuePair> paramters=new ArrayList<NameValuePair>();
    //向集合中添加要传递的参数
    paramters.add(new BasicNameValuePair("key",key));
    //创建传递参数封装 设置编码格式
    UrlEncodedFormEntity encodeEntity=new UrlEncodedFormEntity(paramters,"UTF-8");
    //把实体对象存入到httpPost对象中
    httpPost.setEntity(encodeEntity);
    //发起请求 拿到HttpResponse对象
    HttpResponse response = client.execute(httpPost);
    int responseCode = response.getStatusLine().getStatusCode();
    if(200==responseCode)
    {
    //得到返回的实体对象
    HttpEntity entity = response.getEntity();
    InputStream inputStream = entity.getContent();
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    String line=null;
    while((line=reader.readLine())!=null){
    result.append(line);
    }
    System.out.println("result============"+result.toString());
    }

    } catch (Exception e) {
    e.printStackTrace();
    }

    return result.toString();
    }

    /**
    * 请求完数据执行的方法
    * @param s
    */
    @Override
    protected void onPostExecute(String s) {
    super.onPostExecute(s);
    }
    }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值