- 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);
}
}
}
HttPClient的POST用法
最新推荐文章于 2023-09-16 22:21:55 发布