http协议发送json字符串请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http协议发送json字符串请求相关的知识,希望对你有一定的参考价值。

package post;

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.URL;

import java.net.URLConnection;

 

public class DoTest {

   /**

    * 请求连接固定参数

    * @param s 传参地址

    */

   public static URLConnection getConnection(String s) throws IOException { 

        URL url = new URL(s); 

        URLConnection conn = url.openConnection(); 

        conn.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式 

        conn.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式 

        return conn; 

    }

 

   //请求地址带接口地址,请求参数是json字符串,举例如下:

   //请求地址:http://127.0.0.1:8080/test/testone

   //请求参数:{

   //              "testone": "testname1",

   //              "testtwo": "testname2"

   //              }

  

   /**

    * post请求

    * @param s 传参地址和接口 

    * @param param 请求参数

    * @return 返回响应结果

    * @throws IOException 抛异常

    */

   public static String reqPost(String s, String param) throws IOException {

        System.out.println("请求地址:"+s); 

        System.out.println("请求参数:"+param);

        String res = ""; 

        URLConnection conn = getConnection(s); // POST要求URL中不包含请求参数 

        conn.setDoOutput(true); // 必须设置这两个请求属性为true,就表示默认使用POST发送

        conn.setDoInput(true); 

        // 请求参数必须使用conn获取的OutputStream输出到请求体参数 

        PrintWriter out = new PrintWriter(conn.getOutputStream()); // 用PrintWriter进行包装 

        out.println(param); 

        out.flush(); // 立即充刷至请求体)PrintWriter默认先写在内存缓存中 

         

        try// 发送正常的请求(获取资源)

        {  

            BufferedReader in = new BufferedReader( 

              new InputStreamReader(conn.getInputStream(), "utf-8")); 

            String line; 

            while ((line = in.readLine()) != null) { 

                res += line + "\n"; 

            } 

        } catch (Exception e) { 

            System.out.println("Get Error Occured!"); 

            e.printStackTrace(); 

        } 

        return res; 

    }

}

 

以上是关于http协议发送json字符串请求的主要内容,如果未能解决你的问题,请参考以下文章

如何从文件系统发送包含 json 字符串和大文件的多部分数据的 HTTP 请求?

Flutter HTTP 发布请求 JSON 处理无法正常工作

soapUI 怎么发送json 报文请求?

jmeter怎么设置json格式的请求

发送 JSON 字符串作为 post 请求

php 直接发送GET请求 如何写 最好参数都在一个url里面 然后返回值是json?