0

これに関連して多くの質問があることは知っていますが、私には特別なシナリオがあり、誰かがそれを手伝ってくれるかどうかを知るためにここにいます。必要なものへのアプローチがあるので、最初にシナリオについて説明させてください。

私は一種のプロキシである PHP を持っています。それはクライアントからリクエストを受け取ります。私の場合は、HttpUrlConnection を使用する Java クラスです。この PHP が接続 (リクエスト) を受け取るとすぐに、php はクライアントから送信されたパラメーターを抽出します。私の場合、パラメーターは id (文字列) と xml (文字列として) です。したがって、私のJavaクライアントがリクエストを送信するとすぐに、私のphp「プロキシ」はそれをキャッチしてパラメータを抽出します.私のphpはcurlを使用してリクエストを別の場所にリダイレクトする「中間」コンポーネントのようなものですが、リクエストでは、de id と xml を抽出する必要があります。Javaから、私は使用しています:

        URL calledUrl = new URL(phpUrl);
        URLConnection phpConnection = calledUrl.openConnection();

        HttpURLConnection httpBasedConnection = (HttpURLConnection) phpConnection;
        httpBasedConnection.setRequestMethod("POST");
        httpBasedConnection.setDoOutput(true);
        StringBuffer paramsBuilder = new StringBuffer();
        paramsBuilder.append("xmlQuery=");
        paramsBuilder.append(URLEncoder.encode(this.xmlQuery, CHARSET));
        paramsBuilder.append("&ids=");
        paramsBuilder.append(URLEncoder.encode("16534", CHARSET));

        PrintWriter requestWriter = new PrintWriter(httpBasedConnection.getOutputStream(), true);
        requestWriter.print(paramsBuilder.toString());
        requestWriter.close();

        BufferedReader responseReader = new BufferedReader(new InputStreamReader(
                phpConnection.getInputStream()));

        String receivedLine;
        StringBuffer responseAppender = new StringBuffer();

        while ((receivedLine = responseReader.readLine()) != null ) {
            responseAppender.append(receivedLine);
            responseAppender.append("\n");
        }
        responseReader.close();
        result = responseAppender.toString();   

ご覧のとおり、パラメーターを送信し、応答 (エコー) を待っています。

私のphpには、次のものがあります。

$rawdata = file_get_contents('php://input');

$rawXml = simplexml_load_file('php://input');

これでいいのかわかりませんが、リクエストの受信に関するチュートリアルを見たところ、これらの行がありました。Java が実行する投稿からデータを取得し、PHP で文字列として操作したいと考えています。

誰かが私を助けてくれたら、本当に感謝します。事前に感謝します。どんな助けでも大歓迎です。

4

1 に答える 1

1

これを PHP で使用したい場合:

$id = $_POST['id'];
$xml = $_POST['xmlQuery'];
于 2013-06-18T17:29:43.683 に答える