• 接口测试学习 -01


       java编写向接口POST 一个Jason请求,要求 post的方法要单独封装一个类   (有其他类调用post方法,参数最好是json体和链接地址,需要得出返回结果并打印返回信息和http状态码,只打印返回结果和状态码,其他的不能打印出)

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.io.OutputStreamWriter; 
    import java.io.InputStream;
    import java.io.InputStreamReader;
    
    //import java.net.MalformedURLException;
    import net.sf.json.JSONObject;
    //import java.io.InputStreamReader;
    //import java.io.UnsupportedEncodingException;
    //import java.io.BufferedReader;
    //import java.io.DataOutputStream;
    
    
    public class confirmSendJson {
        
         /** 
         * 发送HttpPost请求 
         *  
         * @param strURL 
         *            服务地址 
         * @param params 
         *            json字符串,例如: "{ "id":"12345" }" ;其中属性名必须带双引号<br/> 
         * @return 成功:返回json字符串<br/> 
         */  
        
        final static String addr_url = "http://xxxx.com/v1/api/payRequest";  
        final static String params ="{"channelCode": "01","
        +""platformCode": "03","
        +""tradeNo": "1474878291690","
        +""subject": "打赏","
        +""payAmount": 1,"
        +""notifyUrl": "http://xxxx.com/v1/test/notify","
        +""returnUrl": "http://xxxx.com/v1/test/notify/sync","
        +""expire": 300,"
        +""extra": "hello world","
        +""openId": "oSlbct45e-fTbFJOtZvZjV5gNKBE","
        +""sign": "7BB370F84FD481BC758836BB7919BBEF"}";
    
        public static String post(String addr_url, String params){
            String result="";
            BufferedReader in = null;
            OutputStreamWriter out=null;
    
            try {
                //创建连接
                URL url = new URL(addr_url);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setDoOutput(true);
                connection.setDoInput(true);
                connection.setRequestMethod("POST");
                connection.setUseCaches(false);//post不能保存缓存
                connection.setInstanceFollowRedirects(true);
                connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式  
                connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式 
    
                connection.connect();
    
                //POST请求
                out = new OutputStreamWriter(  
                        connection.getOutputStream(), "UTF-8"); // utf-8编码  
                out.append(params);  
                out.flush();  
                out.close();  
    
               Map<String,List<String>> map = connection.getHeaderFields();
    
               for (String key : map.keySet()){
    
                  System.out.println(key + "------>" +map.get(key));
               }
                
                //读取响应
                in = new BufferedReader(
                        new InputStreamReader(connection.getInputStream()));
                String line;
                while ((line = in.readLine()) != null) {
                    result += line;
                }
            } catch (Exception e) {
                System.out.println("发送 POST 请求出现异常!"+e);
                e.printStackTrace();
            }
            //使用finally块来关闭输出流、输入流
            finally{
                try{
                    if(out!=null){
                        out.close();
                    }
                    if(in!=null){
                        in.close();
                    }
                }
                catch(IOException ex){
                    ex.printStackTrace();
                }
            }
            return result;
       
        }
        
    
        
     public static void main(String[] args) {  
            String result=null;
            result= post(addr_url, params); 
            System.out.println(result);  
            
     
     }  
     
    }  
  • 相关阅读:
    BEC listen and translation exercise 44
    中译英12
    BEC listen and translation exercise 43
    中译英11
    BEC listen and translation exercise 42
    中译英10
    BEC listen and translation exercise 41
    中译英9
    BEC listen and translation exercise 40
    中译英8
  • 原文地址:https://www.cnblogs.com/echo-test/p/6026856.html
Copyright © 2020-2023  润新知