Таким образом, в настоящее время я изучаю загрузку файлов HTTP (в контексте использования HttpWebRequest
для загрузки некоторых файлов во внешний API) и, как правило, вижу несколько десятков тире, используемых в качестве границы.Похоже, что браузеры обычно добавляют случайно выбранные шестнадцатеричные числа к тире.
Это кажется ужасно неуклюжим, если не сказать больше (смею ли я сказать, что ошибка в протоколе?).Поскольку мой конкретный сценарий использования включает в себя данные, которые могут очень хорошо содержать границы, которые я использую (независимо от того, что я выбираю; данные являются своего рода дампом), я должен быть на 100% уверен, что файл, который я загружаю, ничего не нарушает.Случайный выбор числа просто неприемлем для меня, даже если вероятность фактического столкновения составляет 1 на миллиард.Попытка повторения с другой случайно выбранной границей, если целевой скрипт обнаруживает какую-то ошибку, не является тем, что мне нравится.
Это единственный способ избежать этого, чтобы просканировать весь файл (часто много мегабайт большого размера).) чтобы увидеть, если моя выбранная граница не существует?Мне нужно выполнить много разных запросов при загрузке, поэтому во избежание потери ввода-вывода я хочу избежать сканирования всего файла.
Или есть какой-то параметр размера, который я могу передать, чтобыграница становится немного больше, чем формальность?
Что я пропускаю?Изменение удаленного API - это не вариант, поэтому кодирование в Base64 или добавление какого-либо escape-символа невозможно.