gpt4 book ai didi

c# - 使用 HttpListener 自定义 404

转载 作者:太空狗 更新时间:2023-10-30 01:05:23 26 4
gpt4 key购买 nike

我在使用 HttpListener 时遇到问题,它工作正常(包括返回 404)但是如果我向输出流写入任何内容(以返回 404 的自定义 html)那么即使我设置状态代码 = 404 firebug 也会显示状态200 好,只要我删除自定义 html,它就会按预期看到 404。

因为我得到一个 404,如果我取消注释 2 个注释行,我得到我想要显示的 HTML 但是 200 而我期望 404:

    //var buffer = System.Text.Encoding.UTF8.GetBytes("<html><head></head><body><h1>404 not found</h1></body></html>");
//ctx.Response.OutputStream.Write(buffer, 0, buffer.Length);
ctx.Response.StatusCode = 404;

最佳答案

由于 HTTP 协议(protocol)要求在内容之前发送状态代码,一旦您写入输出流,状态 200 会自动为您发送,随后是您写入流中的任何内容。如果您尝试在写入输出流后设置状态代码,则为时已晚。

关于c# - 使用 HttpListener 自定义 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18847301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com