Javaコードからアプリケーションにログインします。それが戻っページのみログイン、 はここで...JavaでHttps Post要求を送信するには
String httpsURL = "https://www.abcd.com/auth/login/";
String query = "email="+URLEncoder.encode("[email protected]","UTF-8");
query += "&";
query += "password="+URLEncoder.encode("abcd","UTF-8") ;
URL myurl = new URL(httpsURL);
HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-length", String.valueOf(query.length()));
con.setRequestProperty("Content-Type","application/x-www- form-urlencoded");
con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0;Windows98;DigExt)");
con.setDoOutput(true);
con.setDoInput(true);
DataOutputStream output = new DataOutputStream(con.getOutputStream());
output.writeBytes(query);
output.close();
DataInputStream input = new DataInputStream(con.getInputStream());
for(int c = input.read(); c != -1; c = input.read())
System.out.print((char)c);
input.close();
System.out.println("Resp Code:"+con .getResponseCode());
System.out.println("Resp Message:"+ con .getResponseMessage());
私のコードですが、私はログインできません。
誰かができれば、間違っていることを理解するのを手伝ってください。
正しい(余分なスペースがWWW-フォームの中間にあります)私はあなたのログインページ上のフォームがあるとします。フォームを含むページにデータを送信すると、何も起こりません。フォームデータを送信するページにデータを送信する必要があります。 – 11684
警告:Content-lengthには、バイト単位のサイズが含まれます。 "query"の内容に応じて、query.length()とquery.getBytes()。lengthは同じでも異なっていてもかまいません。後で使用する必要があります。 –