在BOA服务器下,如何用CGI程序写入COOKIE?

在BOA服务器下,如何用CGI程序写入COOKIE?

如题。我用printf("Set-cookie:name=value;\r\n");不行
        用printf("cookie:name=value;\r\n");也不行:em12:
        请教大家,怎么写才可以啊?

第四楼和第五楼有对于这个问题的进一步描述。希望大家帮助。

PS:CGI程序是用C写的。

Set-Cookie: name=value; expires=Thu, 21-Dec-2006 10:32:12 GMT; path=/; domain=yourdomain
后面还要加上\r\n
请参考下:
关于 boa webserver 是否支持 cookie:
http://bbs.chinaunix.net/viewthr ... &extra=page%3D1

Boa Web Server 缺陷报告及其修正方法:
http://bbs.chinaunix.net/viewthr ... amp;highlight=newzy

Good Luck!
非常感谢楼上。
你发的两个贴子我在发贴前就已经看过了。
还是不知道该怎么做。
究竟怎么写CGI才能写入COOKIE呢?
能否明示?
事实上,这个问题困扰我一个星期了。
到处查资料问人都不得解,真是郁闷啊。
我在国外的网站看到说BOA对COOKIE的支持和别的服务器比较不同,那个网页还给出了这样的例子:
page1.boa  <cookie enable>
<setvar name=cookie-baz value="this is from page 1!">
<a href=page2.boa>Click here</a>

page2.boa  <cookie enable>
<insert name=cookie-baz>
Clicking the link on page1.boa will result in "this is from page 1!" being displayed on page2.boa。
但是我复制这个例子进行实验,并没有在page2.boa的页面上看到"this is from page1"这句话。
BOA对COOKIE的支持究竟是什么样的啊?
求助大家了。
对不起,刚才看了一下,5楼提到的BOA非BOA服务器,而一种服务器端的脚本语言。
我汗,因为那个网页是老师给我看的,所以我没有仔细较对此BOA非彼BOA,让大家见笑了。

看下下边这段码, 试下试就知道如何读取 cookie 了 (C 直接嵌入在 HTML中).
setcookie() -- 设置 cookie
getcookie() -- 读取 cookie
isblankstr()  -- 测试字符串是否为空.
G()               -- 根据名字读取提交的 HTML 表单项的值.

API 参考: http://www.eybuild.com/develop/doc/API/ebrespond.html#setcookie
运行结果如下图所示:
(1) 输入 cookie 名
(2) 点击 "Set" 添加新 cooke
(3) 输入 cookie 名
(4) 点击 "Query" 查询 cookie 的值.
(5) "Current cookies:" 后面显示的是当前所有cookie 的值, HTTP_COOKIE 中的原始形式.

            

mycookie.csp 源程序:

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/cspengine
<html>
<body>
<% /* user click set command */
if (!isblankstr(G("set"))) {
    setcookie(G("ckname"), G("ckvalue"), NULL);
} %>

<% /* user click query command */
if (!isblankstr(G("query"))) { %>
    Current cookies: <% =getHttpCookie() /* show raw info */ %><br>
    name: <% =G("ckname") %><br>
    value: <% =getcookie(G("ckname")) %><br>
<% } %>

<form method=post action=<% =thisCgiPrefix() %>>
Cookie name: <input type=input name=ckname><p>
Cookie value: <input type=input name=ckvalue><p>
<input type=submit value="Set" name=set>
<input type=submit value="Query" name=query>
</form>
</body>
</html>

再次感谢楼上。
如果要用那些函数,我还得先装CSP吧。
我学会了透过CSP设置COOKIE,还是不明白BOA是怎么解决设置COOKIE这个问题的啊。
BOA的cgi_header.c完全没有提到COOKIE的问题,这么说是不是用CGI是不能告诉BOA我需要设置COOKIE的?
http://bbs.chinaunix.net/viewthread.php?tid=865157
<<关于 boa webserver 是否支持 cookie>>一文已经说得很清楚:

QUOTE:
其次, 在boa 源码中未找到对 Cookie 头的处理, 就果断地断定 boa 不支持
   cookie 是一种很不负责任的做法.



QUOTE:
   首先, Set-Cookie 是服务器向浏览器发送的信息, 而非向 boa 发送的信息.
   boa 能接受的 Cookie 信息为: Cookie: name=value;...
   这是一处非常明显的错误.
   
   其次, 在boa 源码中未找到对 Cookie 头的处理, 就果断地断定 boa 不支持
   cookie 是一种很不负责任的做法.

   在 CGI/1.1 标准中未对COOKIE 进行定义,
   在它在协议特殊元素(Protocol-Specific Metavariables)一节中, 指出
   webserver 必须用 "HTTP_" 开头标记 HTTP协议的特殊元素. 其中 cookie 就
   在其中之列. 所以 HTTP_COOKIE 是服务器传递给 CGI 程序的一个变量.

   boa 支持这一协议规定, 它将非CGI/1.1标准的元素用 "HTTP_" 头标记. 这样,
   当浏览器发送 Cookie 头时, 将被自动转换成 HTTP_COOKIE, 而非显式地进行
   转换, 所以在源代码中不能找到任何 Cookie的影子.
   从 cgi.c 的 add_cgi_env() 函数可以证实这一点.  

   实践证明, boa 支持 Cookie.

good luck!
汗,用BOA读取COOKIE我已经搞定了。
BOA能接受的COOKIE信息是"COOKIE:NAME=VALUE"这是指的浏览器发送的HTTP消息中的内容吧。
但是从CGI_HEADER.C中没有COOKIE处理内容来看,用CGI让服务器向浏览器写入COOKIE是不可能的吧?
我现在很好奇怎么样才能让BOA告诉浏览器它需要设置COOKIE。
有可能吗?