Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

Yazılım Soruları

0

C# Tarayıcıda Açılan Pdf Dosyalarını İndirme

Merhaba,

İnternetten dosya indirirken şu kodları kullanıyorum.
...  for (int i = 0; i < 41; i++)
            {

                try
                {
                    var wc = new WebClient();
                    wc.DownloadFileAsync(new Uri(adresler[i]), Application.StartupPath + @"\Mevzuat\" + dosyaAdi[i]);
                    wc.DownloadFileCompleted += new AsyncCompletedEventHandler(DosyaİndirmeTamamlandığında);
                }
                catch (Exception HATA)
                {
                    MessageBox.Show(dosyaAdi[i], HATA.Message);
                }

            }
ancak şunun gibi sitelerde sorun yaşayabiliyorum.


yardımcı olursanız sevinirim.

Kolay gelsin.

1 Cevap

0
Bazi siteler user-agent bilgisini ve/veya çerezleri ister. Sitenin hangi cerezleri kullandığını öğrenip isteyip istemediklerini test etmelisin.

Altta WebClient'in user-agent ve çerezle kullanım örneği var.

WebClient client = new System.Net.WebClient();
client.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0");
client.Headers.Add(HttpRequestHeader.Cookie, "cerezadi1=cerezdegeri1;cerezadi2=cerezdegeri2");
client.DownloadFileAsync(...)


Bazı siteler aynı anda belirli sayıda isteğe izin verirler. Örneğinde aynı anda 41 istek birden yapıyorsun. Bu mümkün olmayabilir. Böyle bir durumda istekleri döngünün dışından rastgele sürelerde zamanlayıcı kullanarak istersen belki faydası olabilir.

Bazen her istekte rastgele değişik bir user-agent göndermek de faydalı olabilir. Tarayıcıların kullandığı user-agent stringlerinin listesine şuradan ulaşabilirsin.


Cevaplayan: 11.11.20 21:04
cevapsitesi
102,034p 15ü
Cevabı seçen: 05.12.20 22:22
cevapsitesi   102,034p 15ü