Android入门:发送HTTP的GET和POST请求


HTTP的请求详解在《Web资源访问及HTTP协议详解》中已经讲解过:

相关阅读:Android入门:用HttpClient模拟HTTP的GET和POST请求

一、核心代码
HTTP GET 核心代码:
(1)String value = URLEncoder.encode(String value,"UTF-8");
(2)String path = "http://../path?key="+value;
(3)URL url = new URL(path);//此处的URL需要进行URL编码;
(4)HttpURLConnection con = (HttpURLConnection)url.openConnection();
(5)con.setRequestMethod("GET");
(6)con.setDoOutput(true);
(7)OutputStream out = con.getOutputStream();
(8)out.write(byte[]buf);
(9)int code = con.getResponseCode();
HTTP POST 核心代码:
(1)String value = URLEncoder.encode(String value,"UTF-8");
(2)byte[]buf = ("key="+value).getBytes("UTF-8");
(3)String path = "http://../path";
(4)URL url = new URL(path);//此处的URL需要进行URL编码;
(5)HttpURLConnection con = (HttpURLConnection)url.openConnection();
(6)con.setRequestMethod("POST");
(7)con.setDoOutput(true);
(8)OutputStream out = con.getOutputStream();
(9)out.write(byte[]buf);
(10)int code = con.getResponseCode();

二、GET和POST乱码解决方式
GET:
在doGet中加入:
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
POST:
在doPost中加入:
request.setCharacterEncoding("UTF-8");
详情请看我的博文:

三、服务器端代码

  1. package org.xiazdong.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import javax.servlet.ServletException;  
  5. import javax.servlet.annotation.WebServlet;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. @WebServlet("/PrintServlet")  
  11. public class PrintServlet extends HttpServlet {  
  12.   
  13.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  14.         String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");  
  15.         String age = new String(request.getParameter("age").getBytes("ISO-8859-1"),"UTF-8");  
  16.         System.out.println("姓名:"+name+"\n年龄:"+age);  
  17.     }  
  18.   
  19.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  20.         request.setCharacterEncoding("UTF-8");  
  21.         System.out.println("姓名:"+request.getParameter("name")+"\n年龄:"+request.getParameter("age"));  
  22.     }  
  23. }  

  • 1
  • 2
  • 下一页

相关内容