如何使超链接调用相同的C ++ CGI进程

时间:2012-12-02 23:32:00

标签: c++ hyperlink cgi

所以我的C ++ CGI程序会生成一些包含多个链接的html页面。如何在同一个C ++过程中制作,点击此链接后,将显示其他一些内容,其中包含内容,具体取决于点击的超链接?

现在我只有变体,将有其他C ++ CGI程序将使用getenv读取URL参数,并且此参数将与我的第一页的每个链接不同。但我相信必须有一种方法可以用一个C ++进程来做到这一点。

1 个答案:

答案 0 :(得分:0)

您正尝试将会话信息存储在CGI程序的内存中。 CGI协议本身不允许 。您必须将会话信息存储在其他位置。您的选择是:

  • 输出HTML,其中计算结果嵌入到URL中,以便下次执行将看到这些结果(如果该信息是敏感的,这是一个安全漏洞 - 您可以通过安全加密来克服这一点。)
  • 将结果存储在C ++程序存储器之外(文件?)。然后输出cookie或在URL中嵌入会话标识符。在下一次执行中,使用会话标识符执行查找,然后从服务器加载这些结果。您必须注意释放旧数据以避免空间耗尽。
  • 将您的C ++应用程序转换为Web服务器!您的C ++应用程序将回答HTTP请求(它不仅仅是CGI应用程序)。这可能有点矫枉过正,但可能是必要的。我认为有免费的开源库可以帮助解决这个问题,或者你可以开发一个Apache(httpd)模块。

希望能回答你的问题!