别使用Get和Post方式请求一个网页:
我们先来看看HttpClient中如何使用Get方式获取数据,这里需要使用HttpGet来构建一个Get方式的Http请求,然后通过HttpClient来执行这个请求,HttpResponse在接收这个请求后给出响应,最后通过"HttpResponse.getStatusLine().getStatusCode()"来判断请求是否成功,并处理。具体实现如下:
- HttpClient接口中用Get方式传递参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
package
HA.httpurl;
import
java.io.IOException;
import
org.apache.http.HttpResponse;
import
org.apache.http.HttpStatus;
import
org.apache.http.ParseException;
import
org.apache.http.client.ClientProtocolException;
import
org.apache.http.client.HttpClient;
import
org.apache.http.client.methods.HttpGet;
import
org.apache.http.impl.client.DefaultHttpClient;
import
org.apache.http.util.EntityUtils;
import
android.app.Activity;
import
android.content.Intent;
import
android.os.Bundle;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.*;
//HttpClient接口中用Get方式传递参数
public
class
HttpClientGet
extends
Activity{
@Override
protected
void
onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super
.onCreate(savedInstanceState);
// setContentView(R.layout.http);
TextView mTextView =
new
TextView(
this
);
ScrollView scrollView =
new
ScrollView(
this
);
HttpGet httpRequest =
new
HttpGet(httpUrl);
try
{
HttpClient httpclient =
new
DefaultHttpClient();
HttpResponse httpResponse = httpclient.execute(httpRequest);
if
(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String strResult = EntityUtils.toString(httpResponse.getEntity());
mTextView.setText(strResult);
scrollView.addView(mTextView);
this
.setContentView(scrollView);
}
else
{
mTextView.setText(
"请求错误"
);
}
}
catch
(ClientProtocolException e) {
// TODO Auto-generated catch block
mTextView.setText(e.getMessage().toString());
}
catch
(ParseException e) {
// TODO Auto-generated catch block
mTextView.setText(e.getMessage().toString());
}
catch
(IOException e) {
// TODO Auto-generated catch block
mTextView.setText(e.getMessage().toString());
}
// Button button_back = (Button)this.findViewById(R.id.Button_Back);
// button_back.setOnClickListener(new OnClickListener(){
//
// public void onClick(View v) {
// // TODO Auto-generated method stub
// Intent intent = new Intent();
// intent.setClass(HttpClientGet.this, Activity01.class);
// startActivity(intent);
// HttpClientGet.this.finish();
// }
// });
}
}
|
- HttpClient接口中用Post方式传递参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
package
HA.httpurl;
import
java.io.IOException;
import
java.io.UnsupportedEncodingException;
import
java.util.ArrayList;
import
java.util.List;
import
org.apache.http.HttpEntity;
import
org.apache.http.HttpResponse;
import
org.apache.http.HttpStatus;
import
org.apache.http.NameValuePair;
import
org.apache.http.ParseException;
import
org.apache.http.client.ClientProtocolException;
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
org.apache.http.util.EntityUtils;
import
android.app.Activity;
import
android.content.Intent;
import
android.os.Bundle;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.*;
//HttpClient接口中用Post方式传递参数
public
class
HttpClientPost
extends
Activity{
@Override
protected
void
onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super
.onCreate(savedInstanceState);
// setContentView(R.layout.http);
TextView mTextView =
new
TextView(
this
);
ScrollView scrollView =
new
ScrollView(
this
);
HttpPost httpRequest =
new
HttpPost(httpUrl);
List<NameValuePair> params =
new
ArrayList<NameValuePair>();
params.add(
new
BasicNameValuePair(
"email"
,
"******"
));
params.add(
new
BasicNameValuePair(
"&password"
,
"*******"
));
try
{
HttpEntity httpentity =
new
UrlEncodedFormEntity(params,
"UTF-8"
);
httpRequest.setEntity(httpentity);
HttpClient httpclient =
new
DefaultHttpClient();
HttpResponse httpResponse = httpclient.execute(httpRequest);
if
(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String strResult = EntityUtils.toString(httpResponse.getEntity());
mTextView.setText(strResult);
scrollView.addView(mTextView);
this
.setContentView(scrollView);
}
else
{
mTextView.setText(
"请求错误!"
);
}
}
catch
(UnsupportedEncodingException e) {
// TODO Auto-generated catch block
mTextView.setText(e.getMessage().toString());
}
catch
(ClientProtocolException e) {
// TODO Auto-generated catch block
mTextView.setText(e.getMessage().toString());
}
catch
(ParseException e) {
// TODO Auto-generated catch block
mTextView.setText(e.getMessage().toString());
}
catch
(IOException e) {
// TODO Auto-generated catch block
mTextView.setText(e.getMessage().toString());
}
//
// Button button_back = (Button)this.findViewById(R.id.Button_Back);
// button_back.setOnClickListener(new OnClickListener(){
//
// public void onClick(View v) {
// // TODO Auto-generated method stub
// Intent intent = new Intent();
// intent.setClass(HttpClientPost.this,Activity01.class);
// startActivity(intent);
// HttpClientPost.this.finish();
// }
// });
}
}
|