Delphi Can
UrlDownloadFile Hatası - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: UrlDownloadFile Hatası (/showthread.php?tid=7594)



UrlDownloadFile Hatası - mcuyan - 11-02-2024

Merhaba arkadaşlar.

Uygulamam da urldownloadfile fonksiyonu ile http://www.xxx.xxx/ali.txt gibi bi url den yerele dosya aktarıp işlem yaptırtıyorum. 

Fonsyion Win10 ve üstünde sorunsuz çalışırken, Win8 ve Win7 de çalışmıyor.. hiç bir şekilde o url ye gitmiyor. 

Başına gelen veya çözümü bilen var mı dır? Ortak kullandığım Fonksiyonum aşağıdaki gibidir.


function DownloadFile(sourcefile, destfile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, pchar(sourcefile), pchar(destfile), 0, nil) = 0;
  except
    Result := False;
  end;
end;



Cvp: UrlDownloadFile Hatası - Tuğrul HELVACI - 12-02-2024

(11-02-2024, Saat: 20:28)mcuyan Adlı Kullanıcıdan Alıntı: Merhaba arkadaşlar.

Uygulamam da urldownloadfile fonksiyonu ile http://www.xxx.xxx/ali.txt gibi bi url den yerele dosya aktarıp işlem yaptırtıyorum. 

Fonsyion Win10 ve üstünde sorunsuz çalışırken, Win8 ve Win7 de çalışmıyor.. hiç bir şekilde o url ye gitmiyor. 

Başına gelen veya çözümü bilen var mı dır? Ortak kullandığım Fonksiyonum aşağıdaki gibidir.


function DownloadFile(sourcefile, destfile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, pchar(sourcefile), pchar(destfile), 0, nil) = 0;
  except
    Result := False;
  end;
end;

Bu UrlDownloadToFile UrlMon.pas içindeki bildiğimiz API ise, onun dönüş değerini hatalı kontrol ettiğinizi görüyorum. Aşağıdaki link'ten dönüş ile ilgili değerleri kontrol ederek işlem yapmanızı tavsiye ederim. Geriye dönen HRESULT değeri S_OK'dan farklı ise, gelen değeri internette aratıp nokta atışı hatayı tespit edebilirsiniz.


UrlDownloadFile Hatası - gbg - 13-02-2024

Ben bu fonksiyonu yazdım ve dosya almak ve kaydetmek için kullanıyorum.



Kod:
procedure TfrmDataModule.LoadFileFromURL(FileName: String; url: string);
var
 http : TNetHTTPClient;
 vStream : TMemoryStream;
begin
 try
   try
     http := TNetHTTPClient.Create(nil);
     vStream :=  TMemoryStream.Create;

     if (Pos('https', LowerCase(url)) > 0) then
           HTTP.SecureProtocols  := [THTTPSecureProtocol.TLS1,
                                     THTTPSecureProtocol.TLS11,
                                     THTTPSecureProtocol.TLS12];
     http.Get(url, vStream);
     vStream.Position  :=  0;

     vStream.SaveToFile(FileName);
   except
   end;
 finally
     vStream.DisposeOf;
     http.DisposeOf;
 end;
end;



UrlDownloadFile Hatası - mcuyan - 14-02-2024

Teşekkürler..


UrlDownloadFile Hatası - QuAdR - 14-02-2024

Bu apinin ansi ve unicode olanı var ikisini de denediniz mi?
URLDownloadToFileA
URLDownloadToFileW


UrlDownloadFile Hatası - mcuyan - 16-02-2024

Denemdim de.. mantik olarak ne farkı olabilir ki hocam.?


UrlDownloadFile Hatası - QuAdR - 17-02-2024

Ansi kullanımda belirli karakterlerlerde sorun olabilir.
Mesela dosya yolunda özel bir karakter kullanılıyorsa.


UrlDownloadFile Hatası - mcuyan - 18-02-2024

yok hocam. tamamen ing karakter seti. özel yada tr karakterler yok hiç..