📄 isapi1.dpr
字号:
library Isapi1;
uses
Windows,
SysUtils,
ISAPI,
Classes,
Unitlib in 'unitlib.pas';
const CRLF=^M^J;
function GetExtensionVersion(var Ver:THSE_VERSION_INFO):BOOL;stdcall;export;
begin
try
Ver.dwExtensionVersion:=MAKELONG(HSE_VERSION_MINOR,HSE_VERSION_MAJOR);
Ver.lpszExtensionDesc:='ISAPI应用程序范例';
Result:=True;
except
Result:=False;
end;
end;
function HttpExtensionProc(var FECB:TEXTENSION_CONTROL_BLOCK):DWORD;stdcall;export;
var buffer:PCHAR;
buf_size:DWORD;
ServerName:String;
RequestMethod:String;
RemoteAddr:String;
QueryString:String;
temp:String;
len,count:Integer;
i:DWORD;
sa:StrArr;
begin
try
GetMem(buffer,5000);
buf_size:=5000;
FECB.GetServerVariable(FECB.ConnID,'REMOTE_ADDR',buffer,buf_size);
RemoteAddr:=StrPas(buffer);
FECB.GetServerVariable(FECB.ConnID,'SERVER_NAME',buffer,buf_size);
ServerName:=StrPas(buffer);
FECB.GetServerVariable(FECB.ConnID,'REQUEST_METHOD',buffer,buf_size);
RequestMethod:=StrPas(buffer);
len:=Length(StrPas(FECB.lpszQueryString));
count:=CutQueryString(FECB.lpszQueryString,sa,len);
QueryString:='';
for i:=0 to count-1 do begin
sa[i]:=DecodeURL(sa[i]);
QueryString := QueryString + sa[i];
end;
FreeMem(buffer);
temp:='<HTML><HEAD><TITLE>ISAPI范例程序</TITLE></HEAD><HR>'+CRLF;
i:=length(temp);
FECB.WriteClient(FECB.ConnID,PCHAR(temp),i,0);
temp:='使用方法:'+RequestMethod+'<P>'+CRLF;
i:=length(temp);
FECB.WriteClient(FECB.ConnID,PCHAR(temp),i,0);
temp:='服务器名:'+ServerName+'<P>'+CRLF;
i:=length(temp);
FECB.WriteClient(FECB.ConnID,PCHAR(temp),i,0);
temp:='主机地址:'+RemoteAddr+'<P>'+CRLF;
i:=length(temp);
FECB.WriteClient(FECB.ConnID,PCHAR(temp),i,0);
temp:='服务器当前的日期和时间:'+DateTimeToStr(now)+'<P><HR>'+CRLF;
i:=length(temp);
FECB.WriteClient(FECB.ConnID,PCHAR(temp),i,0);
temp:='用户输入字符串:'+QueryString+'<P><HR>'+CRLF;
i:=length(temp);
FECB.WriteClient(FECB.ConnID,PCHAR(temp),i,0);
temp:='</BODY></HTML>'+CRLF;
i:=length(temp);
FECB.WriteClient(FECB.ConnID,PCHAR(temp),i,0);
Result:=HSE_STATUS_SUCCESS;
except
Result:=HSE_STATUS_ERROR;
end;
end;
exports
GetExtensionVersion,
HttpExtensionProc;
begin
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -