function GetHost(Buffer:PAnsiChar):String;
var
i:integer;
tmpResult:String;
strFilter:String;
begin
strFilter := 'Host: ';
i := Pos(strFilter, Buffer);
while (Buffer[i] <> #13) do
begin
Inc(i);
tmpResult := tmpResult + Buffer[i];
Result := trim(StringReplace(tmpResult,'st: ','',[rfIgnoreCase])); //过虑无用字符
//Result := tmpResult;
end
end;
以下为取Get的原形(StrSource为转换过后的缓冲区数据)
function GetPara(StrSource,StrBegin,StrEnd:String):String;
var
in_star,in_end:integer;
begin
in_star:=AnsiPos(StrBegin,StrSource)+length(StrBegin);
in_end:=AnsiPos(StrEnd,StrSource);
result:=copy(StrSource,in_star,in_end-in_star);
{
函数里的AnsiPos和copy,都是系统定义的,可从delphi的帮助文件里找到相关说明,
function AnsiPos(const Substr, S: string): Integer
返回Substr在S中第一次出现的位置。
function copy(strsource,in_star,in_end-in_star): string;
返回字符串strsource中,从in_star(整型数据)开始到in_end-in_star(整型数据)结束的字符串。
}
end;