Eine binäre Datei sollte den HTTP-Client als Bytes erreichen. Sie mit einem Textleser zu lesen und die resultierende Zeichenkette als ASCII neu zu kodieren, kann Werte ersetzen, bevor der Proxy überhaupt etwas empfängt. Dass eine kleine Textprobe funktioniert, macht diesen Weg nicht sicher für ein Bild, ein Archiv oder ein Dokument.

Ersetzen Sie in einem bestehenden .NET-Uploadpfad diese Konvertierung durch eine binäre Body-Quelle:

using var file = File.OpenRead(path);
using var content = new StreamContent(file);

Leiten Sie den Inhalt durch den konfigurierten HTTP-Upload der Anwendung; das Fragment legt die Body-Quelle fest, während der bestehende Client weiterhin Methode, Ziel, Proxy und Lebenszyklusverwaltung besitzt.

Entfernen Sie jede Content-Length, die aus der Zeichenzahl der alten Zeichenkette berechnet wurde. Das Feld misst Oktette. Lassen Sie die HTTP-Bibliothek die Rahmung aus der Body-Darstellung konstruieren, statt eine Zeichenzahl mit einem anders kodierten Puffer zu paaren.

Wählen Sie für einen beabsichtigten Text-Upload die Kodierung ausdrücklich und leiten Sie eine erforderliche Länge aus den gesendeten Bytes ab. Diese Textformat-Entscheidung sollte nicht auf beliebige Dateien angewendet werden.

Vergleichen Sie das übertragene Artefakt mit einem vertrauenswürdigen Erwartungswert. HTTP-Erfolg bestätigt, dass ein Upload-Vorgang auf dieser Ebene abgeschlossen wurde; er kann nicht zeigen, dass eine vorherige Textkonvertierung die ursprünglichen Bytes bewahrt hat.

Ähnliche Artikel