как декодировать закодированные заголовки http в golang - PullRequest
0 голосов
/ 25 февраля 2019

Мне нужно изменить свой сервер golang для чтения закодированных заголовков (для поддержки неанглийских символов, таких как китайский).Интерфейс, вероятно, будет кодировать определенные заголовки, используя это (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI). Как мы можем выяснить, закодирован ли конкретный заголовок, и если это так, как его декодировать? Заранее спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

В HTTP нет механизма, который указывает, какие значения заголовка закодированы и как.Клиент и сервер должны договориться об этом перед обменом сообщениями, или вы должны изобрести свой собственный способ передачи этой информации.

Не-ASCII-значения в заголовке HTTP традиционно MIME-кодируются (RFC 2047).

Как декодирование в процентах, так и MIME-декодирование возвращают незашифрованные значения без изменений, поэтому вы можете оптимистично декодировать все значения, которые могут быть закодированы .

В Go, mimeпакет используется для кодирования / декодирования MIME, а пакет url используется для кодирования / декодирования URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...