Çözüldü Patcher içerik uzunluğu hatası

  • Konuyu açan Konuyu açan victory
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 132
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

victory

Üye
Üye
Mesaj
50
Çözümler
2
Beğeni
15
Puan
689
Ticaret Puanı
0
Merhaba arkadaşlar. Siberdizayn'dan aldıgımız patcher ftp si zaman zaman böyle hatalar veriyor. Ulaşmaya çalışıyoruz ama sorun yok diye diretip duruyorlar. Bu hata bir gün yoksa diğer gün geliyor. Tarayıcı üzerinden metin2torrent.config.xml'e ulaşabiliyorum ancak patcher.exe bu hatayı veriyor. Sebebini bilen var mı?

.
1777043844476.webp
 
Çözüm
Sorunu bulabildim.

Kraizy'nin mainline torrent kodlarında HTTP_QUERY_CONTENT_LENGTH_ERROR hatasını arattım, client neden bunu basıyor diye baktım.

Olay şu:

Patcher dosya indirirken sunucudan "bu dosya kaç byte?" bilgisini alıyor önce. Bu bilgi gelmezse direkt indirmeyi iptal ediyor çünkü adam buffer ayıracak, progress bar gösterecek, döngüyü ne zaman durduracağını bilecek vs.

C++:
Genişlet Daralt Kopyala
if( HttpQueryInfo(hRequest, HTTP_QUERY_CONTENT_LENGTH, ...) == FALSE ) {
    // Content-Length yoksa buraya düşüyor
    goto Cleanup;  // ve indirme iptal
}

Bana verilen sunucu adresine curl attım, baktım ki response header'larda Content-Length yok:

HTTP:
Genişlet Daralt Kopyala
HTTP/1.1 200 OK
Content-Type: application/xml
Server: cloudflare
... (Content-Length YOK!)

Yani...
Sorunu bulabildim.

Kraizy'nin mainline torrent kodlarında HTTP_QUERY_CONTENT_LENGTH_ERROR hatasını arattım, client neden bunu basıyor diye baktım.

Olay şu:

Patcher dosya indirirken sunucudan "bu dosya kaç byte?" bilgisini alıyor önce. Bu bilgi gelmezse direkt indirmeyi iptal ediyor çünkü adam buffer ayıracak, progress bar gösterecek, döngüyü ne zaman durduracağını bilecek vs.

C++:
Genişlet Daralt Kopyala
if( HttpQueryInfo(hRequest, HTTP_QUERY_CONTENT_LENGTH, ...) == FALSE ) {
    // Content-Length yoksa buraya düşüyor
    goto Cleanup;  // ve indirme iptal
}

Bana verilen sunucu adresine curl attım, baktım ki response header'larda Content-Length yok:

HTTP:
Genişlet Daralt Kopyala
HTTP/1.1 200 OK
Content-Type: application/xml
Server: cloudflare
... (Content-Length YOK!)

Yani client'ta sıkıntı yok, sunucu tarafında Cloudflare veya hosting ayarlarından kaynaklı bir konfigürasyon sorunu var. Muhtemelen Cloudflare'in Brotli/Gzip sıkıştırması bu header'ı yiyor.

Çözüm önerim şu olurdu: Cloudflare panelinden compression ayarı kapatılacak veya origin server'da bu header zorla eklenecek. Ancak ben siberdizayn'a ulaştım ve dönüş bekliyorum.

Konu kapatılabilir, kolay gelsin.
 
Çözüm
Cloudflare proxy ile çalışmaz. Belirli bi dizin altına kurduysanız cloudflare ayarlarını devredışı bırakın. Yorumunuzu çözüm olarak işaretledim. Son durumu bildirdiğiniz için teşekkür ederim
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst