• Java 请求webServce接口 带参数


    public String  getWebServiceByParams(String param){   //获取基金缴付记录
            // Post请求的url,与get不同的是不需要带参数
            URL postUrl = null;
            try {
                postUrl = new URL(""); //***这里写webService接口地址
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            // 打开连接
            HttpURLConnection connection = null;
            try {
                connection = (HttpURLConnection) postUrl.openConnection();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }     
            // 设置是否向connection输出,因为这个是post请求,参数要放在
            // http正文内,因此需要设为true
            connection.setDoOutput(true);
            // Read from the connection. Default is true.
            connection.setDoInput(true);
            // 默认是 GET方式
            try {
                connection.setRequestMethod("POST");
            } catch (ProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }      
            // Post 请求不能使用缓存
            connection.setUseCaches(false);  
            //设置本次连接是否自动重定向 
            connection.setInstanceFollowRedirects(true);      
            // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
            // 意思是正文是urlencoded编码过的form参数
            connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
            // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
            // 要注意的是connection.getOutputStream会隐含的进行connect。
            try {
                connection.connect();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            DataOutputStream out = null;
            try {
                out = new DataOutputStream(connection
                        .getOutputStream());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            // 正文,正文内容其实跟get的URL中 '? '后的参数字符串一致
            String content = null;
            try {
                content = "createDate=" + URLEncoder.encode(param, "UTF-8");   //这里改成你的参数名字
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            // DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写到流里面
            try {
                out.writeBytes(content);
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            //流用完记得关
            try {
                out.flush();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                out.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            //获取响应
            BufferedReader reader = null;
            try {
                reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            String line = null;
            //        while ((line = reader.readLine()) != null){
            //            System.out.println("line---?"+line);
            //            
            //        }
            try {
                line = reader.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println("line---?"+line);
    
            try {
                reader.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            //该干的都干完了,记得把连接断了
            connection.disconnect();
            return line;
        }
  • 相关阅读:
    左偏树
    output html
    jsp web.xml
    mysql link db
    beamline
    jsp embend java into html / mix scriptlets and HTML
    StringTokenizer
    TreeSet
    centOS 显示中文
    request and response
  • 原文地址:https://www.cnblogs.com/kevinZhu/p/9243998.html
Copyright © 2020-2023  润新知