0

我知道有很多与此相关的问题,但我有一个特殊的场景,我在这里想知道是否有人可以帮助我,我有一个方法来解决需要什么,所以让我先描述一下这个场景:

我有一个 PHP,它是一种代理,它将接收来自某个客户端的请求,在我的例子中是一个使用 HttpUrlConnection 的 Java 类。一旦这个 PHP 接收到连接(请求),php 就会提取客户端发送的参数,在我的例子中,参数是:一个 id(字符串)和一个 xml(作为字符串)。因此,只要我的 java 客户端发送请求,我的 php“代理”就会捕获它并提取参数,因为我的 php 就像一个“中间”组件,它使用 curl 将请求重定向到另一个地方,但是这个特定的 php 接收请求需要提取 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.ini 中将它们作为字符串使用。

如果有人可以帮助我,我将不胜感激。在此先感谢,欢迎任何帮助。

4

1 回答 1

1

你会想在 PHP 中使用它:

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