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
$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 :(得分: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
}
答案 1 :(得分:0)
您可以使用...
在PHP中读取原始POST数据$post = file_get_contents('php://input');
我更喜欢这种方法而不是$HTTP_RAW_POST_DATA
全局。