我正在尝试将文件下载到字符串:
function FetchUrl(const url: string): string;
var
idhttp : TIdHTTP;
begin
idhttp := TIdHTTP.Create(nil);
try
Result := idhttp.Get(url);
finally
idhttp.Free;
end;
end;
这段代码有什么问题?我得到一个例外:HTTP / 1.1 302 Found
答案 0 :(得分:10)
将TIdHTTP.HandleRedirects
属性设置为True。默认情况下为False。
function FetchUrl(const url: string): string;
var
idhttp : TIdHTTP;
begin
idhttp := TIdHTTP.Create(nil);
try
idhttp.HandleRedirects := True;
Result := idhttp.Get(url);
finally
idhttp.Free;
end;
end;
答案 1 :(得分:2)
HTTP响应代码302表示远程服务器希望将您重定向到另一个URL,该URL在响应的Location标头中指定。您需要做一些特殊的事情来查看Location标头并转到该URL。也许您的http库有一个自动执行此操作的选项,因此请查看文档。