当前位置:K88软件开发文章中心编程语言C/C++C/C++01 → 文章内容

C++ Web 编程

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 13:06:16

pe="radio" name="subject" value="maths"checked="checked"/> 数学<input type="radio" name="subject" value="physics" /> 物理<input type="submit" value="选择学科" /></form>下面的 C++ 程序会生成 cpp_radiobutton.cgi 脚本,用于处理 Web 浏览器通过单选按钮给出的输入。实例





#include <iostream>





#include <vector>





#include <string>





#include <stdio.h>





#include <stdlib.h>





#include <cgicc/CgiDefs.h>





#include <cgicc/Cgicc.h>





#include <cgicc/HTTPHTMLHeader.h>





#include <cgicc/HTMLClasses.h> using namespace std;using namespace cgicc;int main (){Cgicc formData;cout << "Content-type:





text/html\r\n\r\n";cout << "<html>\n";cout << "<head>\n";cout << "<title>向 CGI 程序传递单选按钮数据</title>\n";cout << "</head>\n";cout << "<body>\n";form_iterator fi = formData.getElement("subject");if( !fi->isEmpty() && fi != (*formData).end()) {cout << "Radio box selected:





" << **fi << endl;}cout << "<br/>\n";cout << "</body>\n";cout << "</html>\n";return 0;}向 CGI 程序传递文本区域数据当需要向 CGI 程序传递多行文本时,我们使用 TEXTAREA 元素。下面的 HTML 代码实例是一个带有 TEXTAREA 框的表单:<form action="/cgi-bin/cpp_textarea.cgi"method="post"target="_blank"><textarea name="textcontent" cols="40" rows="4">请在这里输入文本...</textarea><input type="submit" value="提交" /></form>下面的 C++ 程序会生成 cpp_textarea.cgi 脚本,用于处理 Web 浏览器通过文本区域给出的输入。实例





#include <iostream>





#include <vector>





#include <string>





#include <stdio.h>





#include <stdlib.h>





#include <cgicc/CgiDefs.h>





#include <cgicc/Cgicc.h>





#include <cgicc/HTTPHTMLHeader.h>





#include <cgicc/HTMLClasses.h> using namespace std;using namespace cgicc;int main (){Cgicc formData;cout << "Content-type:





text/html\r\n\r\n";cout << "<html>\n";cout << "<head>\n";cout << "<title>向 CGI 程序传递文本区域数据</title>\n";cout << "</head>\n";cout << "<body>\n";form_iterator fi = formData.getElement("textcontent");if( !fi->isEmpty() && fi != (*formData).end()) {cout << "Text Content:





" << **fi << endl;}else{cout << "No text entered" << endl;}cout << "<br/>\n";cout << "</body>\n";cout << "</html>\n";return 0;}向 CGI 程序传递下拉框数据当有多个选项可用,但只能选择一个或两个选项时,我们使用下拉框。下面的 HTML 代码实例是一个带有下拉框的表单:<form action="/cgi-bin/cpp_dropdown.cgi"method="post" target="_blank"><select name="dropdown"><option value="Maths" selected>数学</option><option value="Physics">物理</option></select><input type="submit" value="提交"/></form>下面的 C++ 程序会生成 cpp_dropdown.cgi 脚本,用于处理 Web 浏览器通过下拉框给出的输入。实例





#include <iostream>





#include <vector>





#include <string>





#include <stdio.h>





#include <stdlib.h>





#include <cgicc/CgiDefs.h>





#include <cgicc/Cgicc.h>





#include <cgicc/HTTPHTMLHeader.h>





#include <cgicc/HTMLClasses.h> using namespace std;using namespace cgicc;int main (){Cgicc formData;cout << "Content-type:





text/html\r\n\r\n";cout << "<html>\n";cout << "<head>\n";cout << "<title>向 CGI 程序传递下拉框数据</title>\n";cout << "</head>\n";cout << "<body>\n";form_iterator fi = formData.getElement("dropdown");if( !fi->isEmpty() && fi != (*formData).end()) {cout << "Value Selected:





" << **fi << endl;}cout << "<br/>\n";cout << "</body>\n";cout << "</html>\n";return 0;}在 CGI 中使用 CookiesHTTP 协议是一种无状态的协议。但对于一个商业网站,它需要在不同页面间保持会话信息。例如,一个用户在完成多个页面的步骤之后结束注册。但是,如何在所有网页中保持用户的会话信息。在许多情况下,使用 cookies 是记忆和跟踪有关用户喜好、购买、佣金以及其他为追求更好的游客体验或网站统计所需信息的最有效的方法。它是如何工作的服务器以 cookie 的形式向访客的浏览器发送一些数据。如果浏览器接受了 cookie,则 cookie 会以纯文本记录的形式存储在访客的硬盘上。现在,当访客访问网站上的另一个页面时,会检索 cookie。一旦找到 cookie,服务器就知道存储了什么。cookie 是一种纯文本的数据记录,带有 5 个可变长度的字段:Expires :





cookie 的过期日期。如果此字段留空,cookie 会在访客退出浏览器时过期。Domain :





网站的域名。Path :





设置 cookie 的目录或网页的路径。如果您想从任意的目录或网页检索 cookie,此字段可以留空。Secure :





如果此字段包含单词 "secure",那么 cookie 只能通过安全服务器进行检索。如果此字段留空,则不存在该限制。Name=Value :





cookie 以键值对的形式被设置和获取。设置 Cookies向浏览器发送 cookies 是非常简单的。这些 cookies 会在 Content-type 字段之前,与 HTTP 头一起被发送。假设您想设置 UserID 和 Password 为 cookies,设置 cookies 的步骤如下所示:实例





#include <iostream>using namespace std;int main (){cout << "Set-Cookie:





UserID=XYZ;\r\n";cout << "Set-Cookie:





Password=XYZ123;\r\n";cout << "Set-Cookie:





Domain=www.w3cschool.cc;\r\n";cout << "Set-Cookie:





Path=/perl;\n";cout << "Content-type:





text/html\r\n\r\n";cout << "<html>\n";cout << "<head>\n";cout << "<title>CGI 中的 Cookies</title>\n";cout << "</head>\n";cout << "<body>\n";cout << "设置 cookies" << endl;cout << "<br/>\n";cout << "</body>\n";cout << "</html>\n";return 0;}从这个实例中,我们了解了如何设置 cookies。我们使用 Set-Cookie HTTP 头来设置 cookies。在这里,有一些设置 cookies 的属性是可选的,比如 Expires、Domain 和 Path。值得注意的是,cookies 是在发送行 "Content-type:





text/html\r\n\r\n 之前被设置的。编译上面的程序,生成 setcookies.cgi,并尝试使用下面的链接设置 cookies。它会在您的计算机上设置四个 cookies:/cgi-bin/setcookies.cgi获取 Cookies检索所有设置的 cookies 是非常简单的。cookies 被存储在 CGI 环境变量 HTTP_COOKIE 中,且它们的形式如下:key1=value1;key2=value2;key3=value3....下面的实例演示了如何获取 cookies。实例





#include <iostream>





#include <vector>





#include <string>





#include <stdio.h>





#include <stdlib

上一页  [1] [2] [3] [4]  下一页


C++ Web 编程