【发布时间】: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