监听HTTP请求
我有一个 C# 表单应用程序,我想监听来自其他计算机的传入 HTTP 请求。
我该怎么做呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我有一个 C# 表单应用程序,我想监听来自其他计算机的传入 HTTP 请求。
我该怎么做呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
对于简单的需求,
HttpListener
类是好的和简单的选择。链接的 MSDN 页面上有一个示例。如果由于某种原因,您无法使用
HttpListener
,则该过程将使用TcpClient
监听端口(如果需要详细信息,甚至可以使用套接字 API),然后实现HTTP协议。我强烈建议HttpListener
取代您自己的,除非您有HttpListener
不满足的特定要求。For simple needs, the
HttpListener
class is a good and simple choice. There is an example on the linked MSDN page.If, for some reason, you cannot use
HttpListener
, the process would be to listen to a port usingTcpClient
(or even the sockets API if you need the gritty details), and then implement the HTTP Protocol. I highly recommendHttpListener
over rolling your own, unless you have specific requirements thatHttpListener
does not meet.您可以使用 ASP.NET Http Filters 来拦截 HTTP 请求。
请在此处查看更多详细信息
You can use ASP.NET Http Filters to intercept HTTP requests.
See more details here
如果它是一个asp.net应用程序,您可以在global.asax的Application_BeginRequest事件处理程序中检查http请求。
If it's an asp.net application, you can check the http requests in the Application_BeginRequest event handler of your global.asax.