2012-03-08 7 views
0
PostMethod postMethod = new PostMethod("http://abc.com/a.php"); 
postMethod.setRequestEntity(new InputStreamRequestEntity(new ByteArrayInputStream(someString.getBytes()))); 
HttpClient httpClient = initMultithreadedHttpClient(ConnectionTimeout, 
       SocketTimeout, MaxRetry); 
httpClient.executeMethod(postMethod); 

これは、JavaクライアントからPHPサーバーにデータを送信する方法です。
どうすればPHPで読むことができますか?PHPでJavaから送信されたHttpRequestを読む

は、私はこのようなデータをキャプチャしてみました:

<?php 
$fp = fopen("/opt/lampp/htdocs/input.txt","w"); 
ob_start(); 
print_r($_REQUEST); 
print_r($_SERVER); 
print_r(http_get_request_body()); 
fprintf($fp,"%s",ob_get_contents()); 
ob_end_clean(); 
fclose($fp); 
?> 

しかし、それは実際に要求データを印刷しませんでした。

答えて

0

あなたは、私がグローバル$HTTP_RAW_POST_DATA比べてこの方法を好むと...

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

PHPで生のPOSTデータを読み取ることができます。

1

http_get_request_bodyの代わりにこの機能を試してみてください:

function get_post_body() { 
    $body = ''; 
    $fh = @fopen('php://input', 'r'); 
    if ($fh) 
    { 
    while (!feof($fh)) 
    { 
     $s = fread($fh, 1024); 
     if (is_string($s)) 
     { 
     $body .= $s; 
     } 
    } 
    fclose($fh); 
    } 
    return $body 
} 
関連する問題