2013-06-18 29 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

只是爲了測試,我想看看我送的相同的結果: –