想下载个外国网站文件,1、想用URLDownloadToFile下载,
但不知怎么设referer
因为不设的话它做了防盗 下载总是只有几K。
有谁知道怎么设referer吗2、想用idhttp下载。
用了idhttp下载总是提示HTTP/1.1 403 Forbidden,外国网站需要用VPN代理软件,
用这个代理,用IE就能下载,但用讯雷却无法下载。
不知是不是因为idhttpt和讯雷相同无法接收到那个代理。有谁知道怎么idhttp走的是什么协议,能不能像IE那样接收到代理。3、或还有什么办法能下载吗?

解决方案 »

  1.   

    InternetOpen
    InternetConnect
    HttpOpenRequest(...PAnsiChar(sReferer)..)
    InternetSetOption
    HttpSendRequest
    InternetReadFile
    ...
    InternetCloseHandle
    搜索这些函数的使用,
    use
      WinInet;
      

  2.   

    我用的TWebCopy控件, 还算稳定,不过好象速度不太快
      

  3.   

    那试试 OverByteICS
    http://www.overbyte.be
      

  4.   

    if UrlDownloadToFile(nil, PWideChar(URL+'/App4U.xml'), PWideChar(App4UFileName_), 0, nil) <> 0 then
      

  5.   

    可以参考:
    Function TFrm_AutoUpdate.DownFile(FileURL, FileSave: String): BOOLEAN;
    Var
      FileStream : TMemoryStream;
    Begin
      result := FALSE;
      IdAntiFreeze1.OnlyWhenIdle := False;
      Try
        IdHTTP1.HandleRedirects := TRUE;
        // Encode URL...
        FileURL := IdHTTP1.URL.URLEncode (FileURL);
        IdHTTP1.Disconnect;
        FileStream := TMemoryStream.Create;
        Try
          // Download the file...
          IdHTTP1.Get (FileURL, FileStream);
          // Save the file...
          FileStream.SaveToFile (FileSave);
          result := TRUE;
        Except
          on E: Exception Do
        End;
      Finally
        FileStream.Free;
      End;
    End;