Requests දැනටමත් බඳක් විස්තාරණය කර ඇත්නම්, Content-Encoding: gzip සමඟ එය ඉදිරියට යැවීම ඊළඟ සේවාදායකයාට එය නැවත විස්තාරණය කරන ලෙස ඉල්ලා සිටී. ශීර්ෂක පිටපත් කිරීමට පෙර ප්‍රොක්සිය කුමන පේලෝඩ නිරූපණය යවන්නේද යන්න තීරණය කරන්න.

යවන ලද පේලෝඩයcontent ශීර්ෂක
මුල් කේතනය කළ බයිට්අදාළ කේතනය සහ පේලෝඩයේ නිශ්චිත දිග තබා ගන්න
විකේතනය කළ බයිට්විකේතනය කළ කේතනය ඉවත් කරන්න; අදාළ දිග ඉවත් කරන්න හෝ නැවත ගණනය කරන්න

කේතනය කළ පේලෝඩ බයිට් සඳහා, මෙම කොටස content විකේතනයකින් තොරව urllib3 හි අමු ධාරාව කියවයි:

with requests.get(url, stream=True, timeout=(5, 30)) as upstream:
    upstream.raise_for_status()
    for block in upstream.raw.stream(65536, decode_content=False):
        downstream.write(block)

downstream යනු පවතින ප්‍රතිචාර ප්‍රතිදානයයි. එහි තත්ත්වය සහ ශීර්ෂක දැනටමත් තෝරාගත් ප්‍රතිපත්තිය අනුගමනය කළ යුතුය; මෙම කොටස සම්පූර්ණ ප්‍රොක්සි සේවාදායකයක් ක්‍රියාත්මක නොකරයි.

සම්ප්‍රේෂණ රාමුකරණය gzip content කේතනයෙන් වෙන් වේ. ඉහළ ධාරාවේ HTTP පුස්තකාලය දැනටමත් කැබලි ඉවත් කිරීම ඇතුළුව රාමුකරණය හසුරුවා ඇත, එබැවින් Transfer-Encoding අන්ධ ලෙස පිටපත් නොකරන්න. පේලෝඩය gzip-කේතනය කර තිබියදීත් පහළ සේවාදායකය තමන්ගේම ප්‍රතිචාරය රාමු කරයි.

response.text පසුව UTF-8 කේතනය කිරීමද නිරූපණය වෙනස් කරන අතර අත්තනෝමතික ද්විමය දත්ත සුරකින්න නොහැක. සෑම මාර්ගයකම ඉහළ ප්‍රතිචාරය වසන්න හෝ පරිභෝජනය කරන්න, සහ ප්‍රොක්සි ගිවිසුමට අනුව HTTP දෝෂ හසුරුවන්න: මෙම උදාහරණය ඒවා ඉදිරියට යැවීම වෙනුවට විසි කරයි.

අදාළ ලිපි