使用 HttpURLConnection 连接到远程服务器

Connection to distant server using HttpURLConnection

我尝试使用 HttpURLConnection 将 json 对象发送到远程服务器。 但是显示了这个错误

"Exception in thread "main" java.lang.RuntimeException: Failed : HTTP error code : 401
at TestSendSMS.main(TestSendSMS.java:40)"

我不知道这段代码中 problem.What 有什么问题?任何帮助

 try {
        /*
         * JSONObject jsonParam = new JSONObject();
         * jsonParam.put("-----","----"); jsonParam.put("----","-----");
         * jsonParam.put("-----","-----");
         */
        String input = "{\"------\":\"------\",\"-----\":\"------\",\"------\":\"-----\"}";
        System.out.println("JsonObj " + jsonParam);

        URL myURL = new URL("-----------------------");
        HttpURLConnection myURLConnection = (HttpURLConnection) myURL
                .openConnection();

        myURLConnection.setDoOutput(true);
        myURLConnection.setDoInput(true);
        myURLConnection.setChunkedStreamingMode(0);
        myURLConnection.setUseCaches(false);
        myURLConnection.setConnectTimeout(10000);
        myURLConnection.setReadTimeout(10000);
        myURLConnection.setRequestProperty("Content-Type",
                "application/json");
        myURLConnection.setRequestProperty("Accept", "application/json");

        OutputStream os = myURLConnection.getOutputStream();
        os.write(input.getBytes());
        os.flush();

        if (myURLConnection.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + myURLConnection.getResponseCode());
        }

        BufferedReader br = new BufferedReader(new InputStreamReader(
                (myURLConnection.getInputStream())));

        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }
        myURLConnection.disconnect();
    } catch (MalformedURLException e) {
        System.out.println("error1");
    }

    catch (IOException e) {
        System.out.println("error2");
    }

HTTP Error 401 是一个 身份验证 问题。

您需要在发送请求时向服务器进行身份验证。

本主题可以帮助您使用 URLConnection 进行身份验证: