云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > linux实验报告

linux实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/8 3:05:59

do_exec( arg, fd ); else do_cat( arg, fd ); } 服务器为每个请求创建一个新的进程来处理。子进程将请求分割成命令和参数。如果命令不是GET,服务器应答HTTP返回码表示未实现的命令。如果命令是GET,服务器将期望得到一个目录名,一个以 .cgi 结尾的可执行程序或文件名。如果没有该目录或指定的文件名,服务器报错。 如果存在目录或文件,服务器决定所要使用的操作:ls、exec或cat。 (2)目录列表函数

函数do_ls处理列出目录信息的请求: do_ls(char *dir, int fd) { FILE *fp ; fp = fdopen(fd,\ header(fp, \ fprintf(fp,\ fflush(fp); dup2(fd,1); dup2(fd,2); close(fd); execlp(\ perror(dir); exit(1); } 这里没有使用popen,而是通过调用ls命令,避免用户向shell popen传递任意字符串来运行的问题。 Webserv的源程序

main(int ac, char *av[]) { int sock, fd; FILE *fpin; char request[BUFSIZ]; if ( ac == 1 ){ fprintf(stderr,\ exit(1); } sock = make_server_socket( atoi(av[1]) ); if ( sock == -1 ) exit(2);

37

/* main loop here */ while(1){ /* take a call and buffer it */ fd = accept( sock, NULL, NULL ); fpin = fdopen(fd, \ /* read request */ fgets(request,BUFSIZ,fpin); printf(\ read_til_crnl(fpin); /* do what client asks */ process_rq(request, fd); fclose(fpin); } }

运行Web服务器:

编译程序,并在某个端口(建议用80)运行它: $cc webserv.c socklib.c –o webserv $./webserv 80

现在可以访问Web服务器,网址为http://yourhostname/。将html文件放到该目录中并用http://yourhostname/filename.html来打开它。创建下面的shell脚本: #!/bin/sh

printf ―Content-type: text/plain\\n\\nhello\\n‖;

将它命名为hello.cgi,用chmod改变权限为755,然后用浏览器调用该程序:http://yourhostname/hello.cgi。

评价表格 考核标准 (1)正确理解和掌握实验所涉及的概念和原理(20%); (2)按实验要求合理设计数据结构和程序结构(20%); (3)能设计测试用例,运行结果正确(20%); (4)认真记录实验数据,原理及实验结果分析准确(20%); 得分 (5)实验过程中,具有严谨的学习态度和认真、踏实、一丝不苟的科学作风(5%); (6)所做实验具有一定的创新性(5%); (7)实验报告规范(10%)。 38

39

搜索更多关于: linux实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

do_exec( arg, fd ); else do_cat( arg, fd ); } 服务器为每个请求创建一个新的进程来处理。子进程将请求分割成命令和参数。如果命令不是GET,服务器应答HTTP返回码表示未实现的命令。如果命令是GET,服务器将期望得到一个目录名,一个以 .cgi 结尾的可执行程序或文件名。如果没有该目录或指定的文件名,服务器报错。 如果存在目录或文件,服务器决定所要使用的操作:ls、exec或cat。 (2)目录列表函数 函数do_ls处理列出目录信息的请求: do_ls(char *dir, int fd) { FILE *fp ; fp = fdopen(fd,\ header(fp, \ fprintf(fp,\ fflush(fp); dup2(fd,1); dup2(fd,2); close

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com