在PHP中未经授权的标头后回显

时间:2018-08-02 14:13:40

标签: php server

我有一个从C#调用的PHP脚本,当用户输入无效的登录名时,我调用此函数...

    function ValidationFail($message)
{
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo ($message);
    exit;
}

我正在做的是使用...在C#端阅读文本。

 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string responseText = new StreamReader(response.GetResponseStream()).ReadToEnd();
            return responseText;

然后我根据responseText是做什么。但是,我遇到的问题是,当我调用header('HTTP/1.0 401 Unauthorized');时,responseText没有像我希望的那样回显$ message。相反,我得到了WebException

System.Net.WebException: The remote server returned an error: (401) Unauthorized.

这是预料之中的,但是我有办法调用标头,但是将我想要的消息回显到responseText吗?还是应该对WebException采取行动,而不是回应?

1 个答案:

答案 0 :(得分:-1)

如果您尝试使用php中的标头进行重定向。

header("Location: the_error_page.php?action=show_error");

使用动作变量(在问号后)将show_error命令传递给脚本,当脚本获得show_error命令后,就会产生错误。