java开发访问http接口

Map<String, Object> mapObj = new HashMap<String, Object>();
mapObj.put("original_amount", "0.01");//
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
mapObj.put("out_no", dateFormat.format(new Date()));
PrintWriter out = null;
        BufferedReader in = null;
        String result = "";
        try {
            URL realUrl = new URL(url);
            URLConnection conn = realUrl.openConnection();
            conn.setRequestProperty("accept", "*/*");
            conn.setRequestProperty("Accept-Charset", "UTF-8");  
            conn.setRequestProperty("contentType", "UTF-8");  
            conn.setRequestProperty("connection", "Keep-Alive");
            conn.setRequestProperty("user-agent",
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            conn.setDoOutput(true);
            conn.setDoInput(true);
            out = new PrintWriter(conn.getOutputStream());
            String param = URLEncoder.encode(JSONUtil.serialize(mapObj),"UTF-8");
            out.print(param);
            out.flush();
            in = new BufferedReader(
                    new InputStreamReader(conn.getInputStream(),"utf-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
        System.out.println("发送 POST 请求出现异常!"+e);
            e.printStackTrace();
        }
        finally{
            try{
                if(out!=null){
                    out.close();
                }
                if(in!=null){
                    in.close();
                }
            }
            catch(IOException ex){
                ex.printStackTrace();
            }

        }





//第二步:覆盖doGet()方法
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
        doPost(request,response); //如果是GET提交就调用doPost()来执行
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
  //第三步:获取HTTP请求中的参数信息
  String clientName=request.getParameter("clientName");
  if(clientName!=null)
   clientName=new String(clientName.getBytes("utf-8"),"GB2312");
  else
   clientName="我的朋友";


  //第四步:生成HTTP响应结果
  PrintWriter out;
  String title="HelloServlet";
  String heading1="HelloServlet的doGet方法的输出:";
  //set content type
  response.setContentType("text/html;charset=utf-8");
  //write html page
  out=response.getWriter();
  out.print("<HTML><HEAD><TITLE>"+title+"</TITLE>");
  out.print("</HEAD><BODY>");
  out.print(heading1);
  out.println("<h1><p>"+clientName+":您好</h1>");
  out.print("</BODY></HTML>");
  out.close();
}

猜你喜欢

转载自blog.csdn.net/java_12138/article/details/79092412