【问题标题】:Proxy return error 403 forbidden - c#代理返回错误 403 禁止 - c#
【发布时间】:2014-04-11 14:31:42
【问题描述】:

我正在构建一个代理,我希望它返回一个403 forbidden,以防在“黑主机列表”中找到请求中的主机。

我不知道如何在不发送请求的情况下创建“HttpWebResponse” 并将状态码更改为 403。

我是否应该使用给定的 Url 创建请求

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

并对这个请求进行一些操作,或者我可以用其他方式吗?另外,我可以做哪些操作来获得 403 响应?

谢谢:)

【问题讨论】:

  • 你只需要返回给客户端一个403状态。您如何执行此操作将取决于您如何接收来自代理用户的 HTTP 请求?
  • 只要询问服务器是否在黑洞列表中,如果,您只需抛出异常或返回任何内容并说“403”。
  • 我从对象“HttpListenerContext”接收它(另存为上下文)。我正在取出 Url url = context.Request.RawUrl 与黑名单比较 *** 直到这里我实现了所有,但代理服务器需要返回一个“HttpWebResponse”,它在“非黑名单 URI”中我从: HttpWebResponse 响应 = this.GetResponse(request);

标签: c# http proxy httpwebrequest http-status-code-403


【解决方案1】:

好吧,我补充说:

context.Response.StatusCode = 403; context.Response.Close(); 

在 chrome 中我得到一个空页面,不知道为什么),

在 Internet Explorer 中,我收到默认的 403 错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 2016-05-22
    • 2011-02-23
    • 2013-11-28
    • 2022-06-11
    • 2021-06-17
    相关资源
    最近更新 更多