如何用PHP返回http_code 401

时间:2013-11-17 22:43:10

标签: php curl http-headers

我在客户端使用cUrl。

在我的网络服务(ws.php)上,我有这个简单的代码:

<?php
header('HTTP/1.1 401 Unauthorized', true, 401);
echo 'This is an error';
exit;
?>

当我调用此ws.php页面时,我仍然有http_code = 200。

这是我的cUrl代码是客户端:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "webservice_url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_variables); //array()

$response = curl_exec($ch);
$code = curl_getinfo($ch,CURLINFO_HTTP_CODE);

curl_close($ch);

$ code = 200即使我把标题代码“401”。

1 个答案:

答案 0 :(得分:2)

在ws.php上试试这个:

<?php
ob_start();
header('HTTP/1.0 401 Unauthorized');
echo 'This is an error';
exit;
?>

让我知道这是否有效?