C中的CGI:页面重定向

时间:2013-07-01 15:12:16

标签: c http cgi http-redirect

我有一段在帐户注册页面上执行的C CGI代码。我试图找出如何在CGI执行后让页面自动重定向到主页。我在网上搜索但是找不到关于C的任何明确的内容。

2 个答案:

答案 0 :(得分:2)

HTTP有Location标头用于重定向。您可以发送以下缓冲区以将客户端重定向到http://en.wikipedia.org/wiki/HTTP_location

HTTP/1.1 302 
Location: http://en.wikipedia.org/wiki/HTTP_location

HTTP/1.1 302 
Location: /local/redirect/

用于本地重定向。符合标准的HTTP客户端会在收到上述任何标题后,向http://en.wikipedia.org/wiki/HTTP_location或您的/local/redirect/页面发送GET请求。

答案 1 :(得分:0)

以下示例代码会将任何请求重定向到www.youtube.com。 响应应遵循https://tools.ietf.org/html/rfc3875#section-6.3.2

中指定的cgi协议
#include <stdio.h>
#include <fcgiapp.h>

int main() {
  FCGX_Stream *in, *out, *err;
  FCGX_ParamArray envp;
  while (FCGX_Accept(&in, &out, &err, &envp) >= 0) {
    FCGX_FPrintF(out, "Location: https://www.youtube.com\r\n\r\n");
  }
  return 0;
}