您的位置:首页 > 理论基础 > 计算机网络

【Android基础知识】Apache HttpClient的基本使用

2016-07-19 10:16 651 查看

使用Apache HttpClient 使用get和post方式向服务器发送请求

请求代码
public class HttpClientThread extends Thread {
private String url;
private String age;
private String name;
public HttpClientThread(String url){
this.url = url;
}
public HttpClientThread(String url,String name,String age){
this.url = url;
this.age = age;
this.name = name;
}
//通过HttpClientGet方式访问网络
private void doHttpClientGet(){
HttpGet httpGet = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
HttpResponse response;
try {
response = client.execute(httpGet);
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
String content = EntityUtils.toString(response.getEntity());
Log.i("meng.li"," "+content);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//通过HttpClientPost方式访问网络
private void doHttpClientPost(){
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
ArrayList<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("name", name));
list.add(new BasicNameValuePair("age", age));
try {
post.setEntity(new UrlEncodedFormEntity(list));
HttpResponse response = client.execute(post);
if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
String content = EntityUtils.toString(response.getEntity());
Log.i("meng.li"," "+content);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void run() {
//		doHttpClientGet();
doHttpClientPost();
}
}
调用代码
public class MainActivity extends Activity {
private Button regist;
private EditText name;
private EditText age;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (EditText)findViewById(R.id.name);
age = (EditText)findViewById(R.id.age);
regist = (Button)findViewById(R.id.submit);
regist.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String url = "http://192.168.199.126:8080/Server/MyServlet";
//				url = url+"?name="+name.getText().toString()+"&age="+age.getText().toString();
//				new HttpClientThread(url).start();
new HttpClientThread(url, name.getText().toString(), age
.getText().toString()).start();
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HttpClient post get