Правильный CSV-экспорт прокси без сломанных колонок
CSV кажется простым списком через запятую, но значения с запятыми, кавычками и переносами требуют экранирования. Ошибка в одном поле сдвигает все последующие колонки и превращает импорт реквизитов в набор нечитаемых значений. RFC 4180 документирует наиболее распространённую совместимую форму.
Главное за минуту
- Одна прокси занимает одну запись с одинаковым числом полей.
- Поля с запятой, кавычкой или переносом заключаются в кавычки.
- Кавычка внутри значения удваивается.
- Заголовки и кодировка должны быть стабильными для всех выгрузок.
Строки и заголовок
Первая строка может содержать имена колонок, а каждая следующая — данные одной прокси. Число полей не меняется между строками. Названия вроде protocol, host, port, username и password проще обрабатывать автоматически, чем локализованные заголовки.
Правила кавычек
Поле с запятой, переносом строки или двойной кавычкой заключается в двойные кавычки. Каждая внутренняя кавычка записывается дважды. Ручная склейка строк без CSV-библиотеки часто ломается на первом же необычном пароле или URL.
Безопасные колонки
Выгружайте только поля, выбранные пользователем. Ссылка смены IP и служебные идентификаторы занимают отдельные колонки. Значения, которые табличная программа может принять за формулу, требуют отдельной обработки и проверки в поддерживаемом приложении: синтаксическая корректность CSV сама по себе не предотвращает formula injection.
Проверка совместимости
Откройте тестовый файл в целевой программе и повторно импортируйте его программным парсером. Сравните число строк и значения всех полей. Для русского текста используйте явно согласованную UTF-8-кодировку и проверьте отображение в поддерживаемых офисных приложениях.
Практический чек-лист
- 1Зафиксировать стабильный порядок колонок.
- 2Экранировать запятые, кавычки и переносы.
- 3Включать секретные поля только по явному выбору.
- 4Проверить UTF-8 в целевой программе.
- 5Выполнить обратный импорт автоматическим тестом.
Источники и документы
Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.