```

        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();
    
```

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

```

    conn.setDoOutput(true);
    
```

が機能しません。

```

    System.out.println(conn.getDoOutput());
    
```

でfalseと表示され

```

    OutputStream out = conn.getOutputStream();
    
```

でExceptionが発生します。

```

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

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

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)が機能しない