java模拟安卓get请求,Android入门:用HttpClient模拟HTTP的GET和POST请求
一、HttpClient介绍HttpClient是用来模拟HTTP请求的,其实实质就是把HTTP请求模拟后发给Web服务器;Android已经集成了HttpClient,因此可以直接使用;注:此处HttpClient代码不只可以适用于Android,也可适用于一般的Java程序;HTTP GET核心代码:(1)DefaultHttpClient client = new DefaultHttpCl
一、HttpClient介绍
HttpClient是用来模拟HTTP请求的,其实实质就是把HTTP请求模拟后发给Web服务器;Android已经集成了HttpClient,因此可以直接使用;
注:此处HttpClient代码不只可以适用于Android,也可适用于一般的Java程序;
HTTP GET核心代码:
(1)DefaultHttpClient client = new DefaultHttpClient();
(2)HttpGet get = new HttpGet(String url);//此处的URL为http://..../path?arg1=value&....argn=value
(3)HttpResponse response = client.execute(get); //模拟请求
(4)int code = response.getStatusLine().getStatusCode();//返回响应码
(5)InputStream in = response.getEntity().getContent();//服务器返回的数据
HTTP POST核心代码:
(1)DefaultHttpClient client = new DefaultHttpClient();
(2)BasicNameValuePair pair = new BasicNameValuePair(String name,String value);//创建一个请求头的字段,比如content-type,text/plain
(3)UrlEncodedFormEntity entity = new UrlEncodedFormEntity(List list,String encoding);//对自定义请求头进行URL编码
(4)HttpPost post = new HttpPost(String url);//此处的URL为http://..../path
(5)post.setEntity(entity);
(6)HttpResponse response = client.execute(post);
(7)int code = response.getStatusLine().getStatusCode();
(8)InputStream in = response.getEntity().getContent();//服务器返回的数据
二、服务器端代码
服务器端代码和通过URLConnection发出请求的代码不变:
packageorg.xiazdong.servlet;
importjava.io.IOException;
importjava.io.OutputStream;
importjavax.servlet.ServletException;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
@WebServlet("/Servlet1")
publicclassServlet1extendsHttpServlet {
protectedvoiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {
String nameParameter = request.getParameter("name");
String ageParameter = request.getParameter("age");
String name =newString(nameParameter.getBytes("ISO-8859-1"),"UTF-8");
String age =newString(ageParameter.getBytes("ISO-8859-1"),"UTF-8");
System.out.println("GET");
System.out.println("name="+name);
System.out.println("age="+age);
response.setCharacterEncoding("UTF-8");
OutputStream out = response.getOutputStream();//返回数据
out.write("GET请求成功!".getBytes("UTF-8"));
out.close();
}
protectedvoiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String age = request.getParameter("age");
System.out.println("POST");
System.out.println("name="+name);
System.out.println("age="+age);
response.setCharacterEncoding("UTF-8");
OutputStream out = response.getOutputStream();
out.write("POST请求成功!".getBytes("UTF-8"));
out.close();
}
}
更多推荐
所有评论(0)