📄 httpdsample.htm
字号:
<HTML><HEAD><TITLE>DOS Internet Programming APIs</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="He Lingsong" name=Author>
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<META content=DOS,FTP,HTTP,email,smtp,web,www,server,tcp,wattcp,free
name=KeyWords></HEAD>
<BODY><B><FONT color=#cc0000>HTTP服务器程序样例:</FONT></B>
<BLOCKQUOTE><TT><FONT color=#006600><FONT size=+1>#include
<stdio.h></FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1>#include <string.h></FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1>#include <conio.h></FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1>#include
<time.h></FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1>#include <bios.h></FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1>#include "tcplib.h"</FONT></FONT></TT><TT><FONT
color=#006600><FONT size=+1></FONT></FONT></TT>
<P><TT><FONT color=#006600><FONT size=+1>void userdynamicpage(char
*in);</FONT></FONT></TT><TT><FONT color=#006600><FONT
size=+1></FONT></FONT></TT>
<P><TT><FONT color=#006600><FONT
size=+1>//========================================================</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1>int main(void)</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1>{ char *str,buf[1030]; int
rc;</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT size=+1>
init_tcplib();</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> sethostip("202.114.6.47");</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1> sethttpport(80);</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1>
sethttppath("c:\\ehttp");</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> sethttptime(30,120);</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1> starthttp(3);</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1> printf("Root Path = c:\\ehttp
\n");</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT size=+1>
gethostip(buf);</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> printf("Host IP: %s\n",buf);</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1> printf("Listen On:
%d\n",gethttpport());</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> </FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> while (1)</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> {if (kbhit())</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1> if (getch() == 27)
return ;</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> </FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> rc=checkhttp();</FONT></FONT></TT><TT><FONT
color=#006600><FONT size=+1></FONT></FONT></TT>
<P><TT><FONT color=#006600><FONT size=+1> if
(rc==1)</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> {httprequest();}</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1> </FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1> if
(rc==2)</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1>
{str=gethttpuserinput();</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1>
userdynamicpage(str);</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> }</FONT></FONT></TT><TT><FONT
color=#006600><FONT size=+1></FONT></FONT></TT>
<P><TT><FONT color=#006600><FONT size=+1> }</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1>}</FONT></FONT></TT><TT><FONT
color=#006600><FONT size=+1></FONT></FONT></TT>
<P><TT><FONT color=#006600><FONT
size=+1>//=================================</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1>void userdynamicpage(char *in)</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1>{int l=0; char
str[1024],m[80];</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> TCPSocket hl;</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1> hl=gethttpsocket();</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT
size=+1> strcpy(str,"");</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1> printf("User Input:
%s\n",in);</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> //Produce a Dynamic homepage by user's input</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT
size=+1> sprintf(m,"<HTML><HEAD><TITLE>My Homepage
Title</TITLE></HEAD><BODY>\n");</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1> l=l+strlen(m);
strcat(str,m);</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> sprintf(m,"Hi, Homepage Body, Write chars
here<br>\n");</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> l=l+strlen(m); strcat(str,m);</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT
size=+1> sprintf(m,"</BODY></HTML>\n");</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1> l=l+strlen(m);
strcat(str,m);</FONT></FONT></TT> <BR><TT><FONT color=#006600><FONT
size=+1> //Send it back to HTTP client</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT
size=+1> http_head(hl,"text/html",l,30);</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT
size=+1> write_tcp(hl,str,strlen(str),30);</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT
size=+1> tcp_kernal(hl);</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1> close_tcp_socket(hl);</FONT></FONT></TT>
<BR><TT><FONT color=#006600><FONT size=+1>}</FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1></FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1></FONT></FONT></TT> <BR><TT><FONT
color=#006600><FONT size=+1></FONT></FONT></TT>
<BR> </P></BLOCKQUOTE> </BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -