Ruani bajtët e skedarit binar gjatë ngarkimit përmes një proxy
Ruani bajtët dhe gjatësitë në bajt të skedarit gjatë ngarkimit përmes një proxy, në vend që ta dekodoni artefaktin si tekst dhe ta rindërtoni me ASCII.
Një skedar binar duhet të arrijë te klienti HTTP si bajtë. Leximi me një lexues teksti dhe rikodimi i vargut që rezulton si ASCII mund të zëvendësojë vlera para se proxy të marrë ndonjë gjë. Fakti që një mostër e vogël teksti funksionon nuk e bën atë rrugë të sigurt për një imazh, arkiv ose dokument.
Në një rrugë ekzistuese ngarkimi .NET, zëvendësoni atë konvertim me një burim trupi binar:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);
Kaloni përmbajtjen përmes ngarkimit HTTP të konfiguruar të aplikacionit; fragmenti vendos burimin e trupit, ndërsa klienti ekzistues ende zotëron metodën, destinacionin, proxy-në dhe trajtimin e jetëgjatësisë.
Hiqni çdo Content-Length të llogaritur nga numri i karaktereve të vargut të vjetër. Kjo fushë mat oktetë. Lëreni bibliotekën HTTP të ndërtojë kornizimin nga përfaqësimi i trupit në vend që të çiftojë një numër karakteresh me një buffer të koduar ndryshe.
Për një ngarkim teksti të qëllimshëm, zgjidhni kodimin në mënyrë eksplicite dhe nxirrni gjatësinë e nevojshme nga bajtët e dërguar. Ai vendim për formatin e tekstit nuk duhet të zbatohet për skedarë arbitrarë.
Krahasoni artefaktin e transferuar me një vlerë të pritur të besueshme. Suksesi HTTP konfirmon që një operacion ngarkimi përfundoi në atë shtresë; ai nuk mund të tregojë që një konvertim i mëparshëm teksti ruajti bajtët origjinalë.