【问题标题】:c++ how to listen HTTP requestsc++如何监听HTTP请求
【发布时间】:2012-06-29 17:33:42
【问题描述】:

我是 C++ 新手。

我需要监听 HTTP 请求。

请给我一些好的教程或例子

谢谢

更新:

平台:Windows 语言:C++

我会更清楚地解释我需要什么

当用户单击此页面上的行时:http://ucp-anticheat.org/monitor.html 应用程序会自动在客户端计算机上启动。

我想做同样的事情。

我认为在客户端是侦听 http 请求的服务,如果 url 以 steam:// 开头,服务会自动运行应用程序...

我需要监听 http 请求吗?

我的问题的最佳解决方案是什么?

【问题讨论】:

  • 使用The Source,卢克!
  • 问:必须是 C++ 吗? C呢?还是 Java、Python、C# 等?问:什么平台?视窗? Linux?问:这个“嵌入式网络服务器”的应用/要求是什么? Q:你看过Boost Libraries吗?
  • 公平地说,当您开始使用 C++ 时,使用 boost 库并不是一项简单的任务。正确处理 HTTP 请求也不是一件容易的事。
  • 使用 Boost 库有点像在天堂......
  • 请查看更新后的问题

标签: c++ http


【解决方案1】:

你可以通过像猫鼬这样的网络服务器来监听http请求,在C++中可以很方便地使用http://code.google.com/p/mongoose/,这里是一个使用猫鼬网络服务器的很好的例子http://code.google.com/p/mongoose/source/browse/examples/hello.c

我不确定您的意思是“客户端”,如果您将浏览器作为您的客户端,那么您无法控制浏览器之外的任何内容。如果你想控制一台机器,你需要你的客户端机器来运行你的 exe,它的代码可以根据你的服务器指令来操作。

【讨论】:

    【解决方案2】:

    您应该创建一个简单的服务器程序,创建一个侦听默认 http、https 等端口的 SOCKET。通常我们在一个循环中进行(在每个循环中读取)。

    现在...如果你指定你是在像 OS 或 Windows 这样的 Unix 上会更容易,但从现在开始你可以用谷歌搜索它。像 sys/socket.h 或在几乎所有 linux 上尝试“man 7 socket”(至少我知道的那些)。

    如果你想嗅探某些东西,你可以在网上搜索一些特定的应用程序。

    【讨论】:

      【解决方案3】:

      如果我的问题正确,您希望能够在有人单击带有自定义协议(如 steam:// 或 telnet://)的链接时启动应用程序。您正在寻找Protocol Handler

      注册此类应用程序的一种简单方法是使用 ftype 程序,如 here 所述。

      【讨论】:

      • 我应该投票赞成你的答案,但它与问题标题略有不同,我正在寻找类似的解决方案,我想使用 http 链接和 http 服务器来直接链接网页(例如 YouTube 视频下载),你的建议更适合我,在网络浏览器和外部命令之间建立连接(我需要它用于Linux BTW)
      猜你喜欢
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      相关资源
      最近更新 更多