Fastcgi 502 c++ when FCGX_GetParam Cookie
Fastcgi 502 c++ when FCGX_GetParam Cookie
没有这一行,我的代码运行得很顺利。(我只是注释了这一行)
std::string cookie;
cookie = FCGX_GetParam("HTTP_COOKIE", request.envp);
当这行没有注释时,代码仍然与发送cookie的客户端顺利运行,但是当客户端没有cookie时,系统会出现故障。会有什么问题呢?即使我使用try {} catch (...) {}
,代码仍然崩溃,并将导致502的fastcgi。当代码崩溃
upstream prematurely closed connection while reading response header from upstream
这个错误信息被记录在nginx错误日志中。然后cgi不再工作,连接被拒绝。我需要重生它,让代码再次工作。
天哪!我想明白了。我回头看了看fastcgi文档
结果:值绑定到名称,如果名称不存在于环境envp中则为NULL。在此请求结束后,调用方不得更改结果或保留结果。
因为如果没有cookie,它将返回NULL,文档说它不能改变结果。所以这个问题可以解出来std:: string饼干;
if (FCGX_GetParam("HTTP_COOKIE", request.envp) != NULL){
cookie = FCGX_GetParam("HTTP_COOKIE", request.envp);
}
相关文章:
- 在 Google 测试中,我可以从构造函数调用 GetParam() 吗?
- libcurl cookie在Android上有效
- Dtls 客户端不会使用 cookie 发送 ClientHello(英语:ClientHello)
- 如何在CEF + MFC中获取cookie
- Get cookie from CDHtmlDialog
- 如何使用CGICC和C++设置cookie
- 如何在低文件夹中获取IE cookie
- 如何使用QT保存cookie
- QT 5.6 QWebEngine 不保存 cookie
- QWebFrame load() 在初始页面加载时不发送 cookie
- 0x00363A09处出现未处理的异常,堆栈cookie检测代码检测到基于堆栈的缓冲区溢出
- Cef Cookie管理器SetCookie总是返回false
- 使用 cookie 的完整路径创建 SoupCookieJarText
- 什么是C++中的安全 cookie
- 是否可以读取IE会话cookie
- Qt 5:在QtWebEngine中访问cookie
- C++ 使用批处理脚本清除所有浏览器 Cookie
- 您可以将QWebView cookie/sessions与QNetworkAccessManager一起使用吗?
- 将 Firefox 和 Chrome cookie 导入 libcurl
- 如何从Internet Explorer获取与cookie相关联的过期日期和标志