open
, seek
, read
, tell
yeniden tanımladığımız bazı özel modüllerde, bağımsız değişkenlere göre dosyanın yalnızca bir kısmını okumak için işlevler vardır.Python isteklerinin içerik uzunluğunu nasıl hesaplamasına izin vermez ve sağlananı kullanır?
Ama bu mantık varsayılan tell
geçersiz kılar ve piton requests
sonra bizim özel tell
işlevine yönlendirir ve mantık bir yere arabası ve yanlış değerini döndüren tell()
kullanmayı gerektirir içerik uzunlukta hesaplamak için çalışıyor. Ve bazı değişiklikler denedim, hata veriyor.
istekleri models.py aşağıdaki Bulunan: Ben anlamaya muktedir değilim Şimdilik
def prepare_content_length(self, body):
if hasattr(body, 'seek') and hasattr(body, 'tell'):
body.seek(0, 2)
self.headers['Content-Length'] = builtin_str(body.tell())
body.seek(0, 0)
elif body is not None:
l = super_len(body)
if l:
self.headers['Content-Length'] = builtin_str(l)
elif (self.method not in ('GET', 'HEAD')) and (self.headers.get('Content-Length') is None):
self.headers['Content-Length'] = '0'
nerede hata var ve daha araştırmak ve bunu düzeltmek için stresli. Ve her şey python istekleri tarafından içerik uzunluk hesaplaması dışında çalışır.
Bu yüzden içerik uzunluğunu bulmak için kendi tanımımı oluşturdum. Ve istekleri başlık değerine dahil ettim. Ancak, istek hala içerik uzunluğu ve atma hatası hazırlanıyor.
İçerik uzunluğu hazırlama ve belirtilen içerik uzunluğunu kullanma konusunda nasıl kısıtlama yapabilirim?
Standart işlevleri ve yöntemleri değiştiriyorsunuz. İşlerin doğru bir şekilde çalışmasını nasıl bekleyebilirsiniz? –
@AndreaCorbellini Merhaba, evet haklısınız. Ancak, bu bir dosyayı birden çok parçaya bölmek ve yüklemek için gereklidir. Eh, o kadar uzun zamandır orada. Son zamanlarda, urllib2'den isteklere geçiş yaptık, bu yüzden şimdi bu hatayla karşılaştık. –