Спасибо, Майкл Браун.
Я протестировал это: в браузере всё работает, но в среде программирования — нет, так как правило гласит, что для передачи этого протокола могут использоваться только символы ASCII.
Причина ошибки:
TypeError: Invalid character in header content [“Api-Username”]
Обратите внимание на лог: рекомендуется добавить кодирование или декодирование в UTF-8 для корректного сопоставления.
- Тестовый интерфейс
- Веб-адрес
Accept:application/json
api-key:f9c13aafa9b21baf778161bff66a62533ba650b6e4542e3e9788e98c55ded869
Api-Username:system
Результат теста:
OK
Accept:application/json
api-key:f9c13aafa9b21baf778161bff66a62533ba650b6e4542e3e9788e98c55ded869
Api-Username:风之旅人
{“status”:500,“error”:“Internal Server Error”}
Accept:application/json
api-key:f9c13aafa9b21baf778161bff66a62533ba650b6e4542e3e9788e98c55ded869
Api-Username:%E8%BF%90%E6%80%9D
У вас нет прав на просмотр запрошенного ресурса. Имя пользователя API или ключ недействительны.
Причина ошибки:
Использование китайских символов в заголовке недопустимо. Их необходимо закодировать с помощью encodeURI() для передачи на сервер, а сервер должен декодировать их с помощью decodeURI(), чтобы распознать.
Предлагается добавить проверку: если имя пользователя не найдено, попытаться применить decodeURI для его сопоставления.
