通过导航器而不是Java传递json对象

时间:2019-03-28 16:43:22

标签: java json

我有一个使用以下代码的Java应用程序:

URL url = new URL("http://myurl/");
HttURLConnection connection = (HttURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutplut(true);
connection.setRequestProperty("Content-Type", "application/json");
BufferedWriter buffer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
buffer.write("{\"foo:\"0}");
buffer.flush();

我只想在导航URL栏中执行相同的操作。

编辑

我找到了修改标头的工具。这是我加载页面时开发工具的屏幕截图。 现在我将Json对象放在哪里了?

header request

1 个答案:

答案 0 :(得分:1)

如果您需要将JSON数据发送到URL,则您的代码应如下所示,

            URL url = new URL("http://myurl/");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setDoOutput(true);
            con.setRequestMethod("POST");
            con.setRequestProperty("Content-Type", "application/json");

            String input = "{\"foo\":\"bar\"}";
            OutputStream ous = con.getOutputStream();
            ous.write(input.getBytes());
            ous.flush();

            if (con.getResponseCode() != HttpURLConnection.HTTP_OK)
            {
                throw new RuntimeException("Failed : HTTP error code : " + con.getResponseCode());
            }else
            {
                BufferedReader br = new BufferedReader(new InputStreamReader((con.getInputStream())));
                String output;
                System.out.println("Output from Server .... \n");
                while ((output = br.readLine()) != null) 
                {
                     System.out.println(output);
                }
            }

            con.disconnect();

如果您需要GET方法,则可以放置它,

con.setRequestMethod("GET");
con.setRequestProperty("Accept", "application/json");

如果您需要使用URL发送请求正文,则可以使用CURL。您也可以使用POSTMAN。通过使用此功能,您可以发送请求并接收响应。

CURL会这样,

curl -v -H "Content-Type: application/json" -X POST \
     -d '{\"foo\":\"bar\"}' http://myurl/

您可以使用Firefox来执行所需的操作,Read the 2nd answer