找不到主机-尝试在Delphi XE7中使用Indy下载csv文件

找不到主机-尝试在Delphi XE7中使用Indy下载csv文件,delphi,csv,delphi-xe,indy,Delphi,Csv,Delphi Xe,Indy,我正在尝试从.gov.uk网站下载csv,但是,当我运行该过程时,会显示一个错误:套接字错误11001主机未找到 procedure TFrm_Settings.btn_FetchPricesClick(Sender: TObject); var Url, LocalFile: String; FileStrm: TFileStream; Http : TIdHTTP; begin Url := 'http://www.gov.uk/government/upload

我正在尝试从.gov.uk网站下载csv,但是,当我运行该过程时,会显示一个错误:套接字错误11001主机未找到

procedure TFrm_Settings.btn_FetchPricesClick(Sender: TObject);

var
  Url, LocalFile: String;
  FileStrm: TFileStream;
  Http : TIdHTTP;
begin
    Url :=    'http://www.gov.uk/government/uploads/system/uploads/attachment_data/file/400489/weekly_fuel_prices_csv.csv';
    LocalFile := 'FuelPrices.csv';
    FileStrm := TFileStream.Create(LocalFile, fmCreate);
    Http:= TIDHTTP.Create(nil);
    try
      try
        Http.Get(Url, FileStrm);
      finally
        FileStrm.Free;
      end;
   except
     DeleteFile(LocalFile);
     raise;
   end;

因此,请在执行之前将Http.HandleRedirects:=True。请注意,修复您的尝试..最后..除了块。感谢您的快速回复,我添加了Http.HandleRedirects:=True,但仍然遇到相同的错误。我还尝试访问了其他几个csv文件,结果相同。这可能是因为我所在的网络使用了代理吗?错误意味着本地PC无法通过DNS解析主机名。由于网络使用的是代理,因此需要将HTTP连接到代理,并让代理解析DNS。如果网络使用HTTP代理,则可以在TIdHTTP.ProxyParams属性中填写详细信息。如果网络使用SOCKS代理,则可以将TIdIOHandlerStack分配给TIdHTTP.IOHandler属性,然后将TIdSocksInfo分配给IOHandler.TransparentProxy属性。