
[code]

        String Json = "{hoge}";
    
        URL url = new URL("http://hoge/hoge");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        // HTTPリクエストコード
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json-rpc; charset=utf-8");
        conn.setRequestProperty("Content-Length", String.valueOf(Json.length()));
        conn.setConnectTimeout(50000);
        conn.setDoOutput(true);
        System.out.println(conn.getDoOutput());
        OutputStream out = conn.getOutputStream();
    
[/code]

上記のソースを実行しますが、

[code]

    conn.setDoOutput(true);
    
[/code]

が機能しません。

[code]

    System.out.println(conn.getDoOutput());
    
[/code]

でfalseと表示され

[code]

    OutputStream out = conn.getOutputStream();
    
[/code]

でExceptionが発生します。

[code]

    java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true)
    
[/code]

原因がわからず、困窮しております。  
どなたかご助力いただけますでしょうか？

setDoOutput(true)  
を記述していますが、DoOutputにtrueがセットされません。


CC BY-SA 4.0
2020-05-25T09:00:10.490
66970
2020-05-25T09:00:10.490
31179
question
java http url exception
HttpURLConnectionクラスのsetDoOutput(true)が機能しない