Nombres de usuario Unicode

Gracias, Michael Brown.

Lo he probado y si lo pruebo en el navegador está bien, pero en el software de programación no está bien, porque la regla es que solo se pueden usar caracteres ascii para transferir este protocolo.

Razón del error:

TypeError: Carácter no válido en el contenido de la cabecera ["Api-Username"]

Por favor, consulte el registro, se recomienda añadir codificación o decodificación ut8 una vez para que coincida.

  1. Interfaz de prueba

  1. Dirección web

https://xxxxxxxx/posts.json

Accept:application/json
api-key:f9c13aafa9b21baf778161bff66a62533ba650b6e4542e3e9788e98c55ded869
Api-Username:system

Resultados de la prueba:

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

No tiene permiso para ver el recurso solicitado. El nombre de usuario o la clave de la API no son válidos.

Razón del error:

El uso de caracteres chinos en la cabecera no es válido, necesita ser codificado con encodeURI() para poder ser transmitido al servidor, pero el servidor necesita decodificarlo con decodeURI() para poder reconocerlo.

Sugiero añadir una comprobación, si no se encuentra, intentar decodificarURI, para que coincida con el nombre de usuario.