htmlのFormでメールアドレス,パスワードをPOSTして、受信側のPHPで任意の文字列(仮にhoge)と一致した場合は「ログインOK」が表示されるhtml、一致しなかった場合は「ログインNG」が表示されるhtmlを作り、サーバにアップして問題なく動作しています。(URLは仮のものです)
html
1 2<form action="http://hoge.ne.jp/php/postres.php" method="POST"> 3 <input type="text" name="email" placeholder="メールアドレス"/> 4 <input type="password" name="password" placeholder="パスワード"/> 5 <input type="submit" name="_goto:login" value="ログイン"/> 6</form> 7
PHP
1 2<?php 3 4$email = $_POST["email"]; 5$password = $_POST["password"]; 6 7 //echo "email = ".$email."\n"; 8 //echo "password = ".$password."\n"; 9 //echo "_goto:login = ".$submit."\n"; 10 11if ($email === "hoge" && $password === "hoge") { 12 //echo "login OK!"; 13 header( "Location: http://hoge.ne.jp/php/login_ok.html" ) ; 14 exit() ; 15} else { 16 //echo "login NG!"; 17 header( "Location: http://hoge.ne.jp/php/login_ng.html" ) ; 18 exit() ; 19} 20 21?> 22 23
このhtmlフォームをJavaで自動化するプログラムを作っていますが、PHP側でecho()でテキストを返す場合は、問題なくJavaで受け取れました。ですが、echo()をコメントアウトしてheader()にすると、何も帰ってきません。エラーも出ません。
Java
1 2import java.net.*; 3import java.io.*; 4 5public class Main { 6 public static void main(String[] args) throws IOException { 7 String param = "email=hoge&password=hoge"; 8 URL url = new URL("http://hoge.ne.jp/php/postres.php"); 9 10 // 接続用HttpURLConnectionオブジェクト作成 11 HttpURLConnection con = (HttpURLConnection)url.openConnection(); 12 13 con.setRequestMethod("POST"); 14 con.setDoInput(true); 15 con.setDoOutput(true); 16 con.setFixedLengthStreamingMode(param.getBytes().length); 17 //con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 18 19 //conの送信用ストリーム作成 20 DataOutputStream os = new DataOutputStream(con.getOutputStream()); 21 22 con.connect(); 23 24 os.write(param.getBytes()); 25 os.flush(); 26 27 if( con.getResponseCode() == HttpURLConnection.HTTP_OK ){ 28 //conのレスポンス受信用ストリーム作成 29 BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream())); 30 String inputLine; 31 while ((inputLine = reader.readLine()) != null) { 32 System.out.println(inputLine); 33 } 34 reader.close(); 35 } 36 os.close(); 37 con.disconnect(); 38 } 39} 40
PHP側でheader()によってURLを返した場合、Java側ではどのように受け取ればhtmlを受け取れるでしょうか?
(コマンドプロンプト上でhtmlタグが出力できれば、それで構いません)
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/07 05:40
2016/11/07 06:28
2016/11/07 06:51
2016/11/07 07:25
2016/11/07 07:29