HTTPS POST要求が正常に処理できません。要求はうまくいっていますが、私はブラウザで受け取ったものとは異なる応答を得ています。ブラウザでリクエスト/レスポンスを表示するために傍受プロキシを使用しています。私は以下のコードで全く同じリクエストを行っていると思います。問題は、レスポンスコードが301(リダイレクト)ではなく、200(OK)であることです。リダイレクトは私が欲しいページですが、私は下のコードでそこに着くことはできません。私は 'HttpsURLConnection'を使用してみましたが、違いはありませんでした。Java HTTPS POST要求が200の応答コードを返しています。応答コードが302であることがわかっています。
リクエストは同じですが、同じ扱いを受けていないことは確かです。私のブラウザでは、SSL証明書が私のクッキーと組み合わせて使用されているので、リクエストが違うのでしょうか?
希望するリダイレクトページに移動するにはどうすればよいですか?
private static void post(){
try {
URL obj = new URL("https://www.mywebsiteoffun4321.com/add");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
con.setRequestProperty("Host", "www.mywebsiteoffun4321.com");
con.setRequestProperty("Cookie", cookie);
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
String urlParameters = "var=true";
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
System.out.println(con.getResponseCode());
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
} catch (Exception e) {System.out.println(e);}
}
デフォルトでは、 'HttpURLConnection'はリダイレクトの後に続きます。 – EJP