zoukankan      html  css  js  c++  java
  • java的post请求

    public static String sendPost(String url,Map<String, String> packageParams){
    //packageParams={channel=xajc, sign=5318a58f2125e17f164ba113c7574622}
    PrintWriter out = null;
    BufferedReader in = null;
    HttpURLConnection conn = null;
    try {
    URL realUrl = new URL(url);
    // 打开和URL之间的连接
    conn = (HttpURLConnection) realUrl.openConnection();
    // 设置通用的请求属性
    conn.setRequestProperty("accept", "*/*");
    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    conn.setRequestProperty("connection", "Keep-Alive");
    conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
    conn.setRequestProperty("Charset", "UTF-8");
    // 发送POST请求必须设置如下两行
    conn.setDoOutput(true);
    conn.setDoInput(true);
    conn.setUseCaches(false);
    conn.setConnectTimeout(5000);
    conn.setReadTimeout(10000);
    conn.setRequestMethod("POST");

    // 获取URLConnection对象对应的输出流
    //out = new PrintWriter(conn.getOutputStream());
    out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8"));
    StringBuffer params = new StringBuffer();
    // 表单参数与get形式一样
    for (Map.Entry<String,String> map : packageParams.entrySet()) {
    params.append(map.getKey()).append("=").append(map.getValue()).append("&");
    System.out.println(map);

    }
    params.deleteCharAt(params.lastIndexOf("&"));
    // 发送请求参数
    out.print(params.toString());
    System.out.println("请求参数: " + params.toString());
    // flush输出流的缓冲
    out.flush();
    // 定义BufferedReader输入流来读取URL的响应
    int resultCode=conn.getResponseCode();//400
    if(HttpURLConnection.HTTP_OK==resultCode){
    StringBuilder result = new StringBuilder();
    in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
    String line;
    while ((line = in.readLine()) != null) {
    result.append(line);
    }

    return result.toString();
    }
    } catch (Exception e) {
    e.fillInStackTrace();
    }finally{
    try{
    if(out!=null){
    out.close();
    }
    if(in!=null){
    in.close();
    }
    }catch(Exception ex){
    ex.printStackTrace();
    }
    }
    return "";
    }

    public static String sendPostJSON(String url, String params){
    PrintWriter out = null;
    BufferedReader in = null;
    HttpURLConnection conn = null;
    try {
    URL realUrl = new URL(url);
    // 打开和URL之间的连接
    conn = (HttpURLConnection) realUrl.openConnection();
    // 设置通用的请求属性
    conn.setRequestProperty("accept", "*/*");
    conn.setRequestProperty("Content-Type", "application/json");
    conn.setRequestProperty("connection", "Keep-Alive");
    conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
    conn.setRequestProperty("Charset", "UTF-8");
    // 发送POST请求必须设置如下两行
    conn.setDoOutput(true);
    conn.setDoInput(true);
    conn.setUseCaches(false);
    conn.setConnectTimeout(5000);
    conn.setReadTimeout(10000);
    conn.setRequestMethod("POST");

    // 获取URLConnection对象对应的输出流
    out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8"));
    // 发送请求参数
    out.print(params.toString());
    // flush输出流的缓冲
    out.flush();
    // 定义BufferedReader输入流来读取URL的响应
    int resultCode=conn.getResponseCode();//400
    if(HttpURLConnection.HTTP_OK==resultCode){
    StringBuilder result = new StringBuilder();
    in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
    String line;
    while ((line = in.readLine()) != null) {
    result.append(line);
    }

    return result.toString();
    }
    } catch (Exception e) {
    e.fillInStackTrace();
    }finally{
    try{
    if(out!=null){
    out.close();
    }
    if(in!=null){
    in.close();
    }
    }catch(Exception ex){
    ex.printStackTrace();
    }
    }
    return "";
    }

  • 相关阅读:
    IDEA-各模块间引用出现问题的解决方法
    【MyBatis学习06】_parameter:解决There is no getter for property named in class java.lang.String
    《转载》JVM垃圾回收机制
    java面试复习题四
    Java中excel转换为jpg/png图片 采用aspose-cells-18.6.jar
    POI导出复杂的excel;excel公共样式类;excel拼接定制类;数据科学计数法转为普通值
    java发送邮件无法显示图片 图裂 的解决办法
    pom.xml文件最详细的讲解
    Tomcat启动报Error listenerStart错误 Context [] startup failed due to previous errors
    ora-01031:insufficient privileges解决方法
  • 原文地址:https://www.cnblogs.com/helloworld-yjh/p/10751419.html
Copyright © 2011-2022 走看看