我知道有很多与此相关的问题,但我有一个特殊的场景,我在这里知道是否有人可以帮助我,我有一个方法来满足需要,所以让我描述一下场景第一:
我有一个PHP,它是一种代理,它将接收来自某个客户端的请求,在我的例子中是一个使用HttpUrlConnection的Java类。一旦这个PHP收到连接(请求),php将提取客户端发送的参数,在我的例子中,参数是:一个id(String)和一个xml(作为String)。所以,一旦我的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中使用它们作为字符串。
如果有人可以帮助我,我会非常感激。在此先感谢,欢迎任何帮助。
答案 0 :(得分:1)
您可能希望在PHP中使用它:
$id = $_POST['id'];
$xml = $_POST['xmlQuery'];