Őrizze meg a bináris fájl bájtjait, amikor proxyn keresztül tölt fel
Őrizze meg a fájl bájtjait és bájtban mért hosszait, amikor proxyn keresztül tölt fel, ahelyett hogy szövegként dekódolná az artefaktot és ASCII-vel újraépítené.
A bináris fájlnak bájtokként kell eljutnia a HTTP-ügyfélhez. Szövegolvasóval való beolvasása, majd a kapott karakterlánc ASCII-ként való újrakódolása helyettesítheti az értékeket, mielőtt a proxy bármit megkapna. Az, hogy egy kis szövegminta működik, nem teszi ezt az utat biztonságossá képek, archívumok vagy dokumentumok számára.
Egy meglévő .NET feltöltési útvonalon cserélje le ezt az átalakítást bináris törzsfórrásra:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);Adja át a tartalmat az alkalmazás beállított HTTP-feltöltésén; a részlet létrehozza a törzsfórrást, miközben a meglévő ügyfél továbbra is kezeli a metódust, a célt, a proxyt és az élettartamot.
Távolítson el minden Content-Length-et, amelyet a régi karakterlánc karakterszámából számítottak. Ez a mező oktetteket mér. Hagyja, hogy a HTTP-könyvtár a törzs reprezentációjából építse fel a keretezést ahelyett, hogy egy karakterszámot más kódolású pufferrel párosítana.
Szándékos szöveges feltöltés esetén válassza ki a kódolást kifejezetten, és a szükséges hosszt az elküldött bájtokból vezesse le. Ezt a szövegformátum-döntést nem szabad tetszőleges fájlokra alkalmazni.
Hasonlítsa össze az átvitt artefaktot egy megbízható várt értékkel. A HTTP sikeressége megerősíti, hogy a feltöltési művelet azon a rétegen befejeződött; nem tudja megmutatni, hogy egy korábbi szövegátalakítás megőrizte-e az eredeti bájtokat.