2013-06-18 30 views
0

读取参数,我知道有很多与此相关的问题,但我有一个特殊的场景,我在这里要知道,如果有人可以帮我一下吧,我有一个方法需要什么,所以让我先来介绍情况:邮政与Java到PHP发送参数和PHP

我有一个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中以字符串的形式处理它们。

如果有人能帮助我,我会非常感激。在此先感谢,任何帮助是值得欢迎的。

回答

1

你想在PHP中使用此:

$id = $_POST['id']; 
$xml = $_POST['xmlQuery']; 
+0

非常感谢你的快速答复,我已在我的PHP这些台词,但我在我的Java代码不打印任何回应:/ 。 –

+0

你想要回应包含什么? – laz

+0

只是为了测试,我想看看我送的相同的结果: –