2017-06-20 17 views
0

私は、JavaアプリケーションからPHPのページにデータを送るのに問題があります。基本的には、私はPOSTメソッドを介してデータを受信し、ポストを介してこのデータを送信するJavaでクラスを作成するphpのページを持っています。問題は、Javaで私はPHPページで要求されている識別子を挿入しないということです。ご覧のとおり、コードスニペットでPHPのページに値を表示しますが、Javaアプリケーションでは、送信したい情報にこの「ユーザー」識別子を入力しません。したがって、PHPページがJavaアプリケーションが送信している値を「取得」する方法はありません。誰もがこの問題を解決する方法を知っている?事前にどうもありがとうございました!
ページPHP:Javaアプリケーションにデータを接続し、送信を担当phpページに情報をjavaで投稿するには?

<?php 

    require_once './vendor/autoload.php'; 
    $controller = new App\CWS\Controller(); 

    if($_SERVER['REQUEST_METHOD'] == "POST"){ 
     $controller->registerUser(filter_input(INPUT_POST, "user")); 
    } 

?> 

クラス:これにより

public class WebClient { 
    public String post(String json) { 
     try { 
      URL url = new URL("http://localhost//CWS//cadastrar_usuario.php"); 
      HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
      connection.setRequestMethod("POST"); 
      connection.setRequestProperty("Content-type", "application/json"); 
      connection.setRequestProperty("Accept", "application/json"); 

      connection.setDoOutput(true); 

      PrintStream output = new PrintStream(connection.getOutputStream()); 
      output.println(json); 

      connection.connect(); 

      Scanner scanner = new Scanner(connection.getInputStream()); 
      String resposta = scanner.next(); 
      return resposta; 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
} 

答えて

0
 PrintStream output = new PrintStream(connection.getOutputStream()); 
     output.println(json); 

サーバーにJSONエンコードされたテキストとしてデータを送信しています。 この時点でJSON文字列内にあるものはすべて送信されます。 "user"のデータをJSONに入れていない場合は、送信する前にそれを置く必要があります。

+0

JSON文字列にはすでにユーザーデータが含まれていますが、Main.javaクラスでは、アプリケーションが指定されたアドレスに接続していることを確認しましたが、PHPページではこの情報を送信する方法がありません私は、Javaアプリケーションで識別子を渡しません。理解していますか? – CloudAC

関連する問題