内置的例行HttpQueryInfo返回一个字符串,而不是实际的字节。 通常情况下是没有问题的。
然而,最近我已经开始遇到服务器发出一个问题重定向所在部位头字段包含了包括非百分比编码的Unicode /或网址是什么? 字符。 解决这个办法?
var
vContent_Wide: WideString;
begin
vBufferSize := 4096;
GetMem(vBufferPtr, vBufferSize);
while True do
begin
TmpFakeCardinal := 0;
vErrorNone := HttpQueryInfo(
hHttpOpen_Request,
HTTP_QUERY_RAW_HEADERS_CRLF,
vBufferPtr,
vBufferSize,
TmpFakeCardinal
);
if (vErrorNone = False) then
begin
vErrorID := GetLastError;
if (vErrorID = ERROR_INSUFFICIENT_BUFFER) then
begin
FreeMem(vBufferPtr);
GetMem(vBufferPtr, vBufferSize);
end
else Break;
end
else
begin
vContent_Wide := PWideChar(vBufferPtr);
Result := vContent_Wide;
Break;
end
;
end;
FreeMem(vBufferPtr, vBufferSize);