Nomes de usuário Unicode

Obrigado, Michael Brown.

Eu testei e, se eu testar no navegador, está tudo bem, mas no software de programação não está, porque a regra é que apenas ASCII pode ser usado para transferir este protocolo.

Motivo do erro:

TypeError: Caractere inválido no conteúdo do cabeçalho ["Api-Username"]

Por favor, consulte o log, recomenda-se adicionar codificação ou decodificação ut8 uma vez para correspondência.

  1. Interface de teste

  1. Endereço da web

https://xxxxxxxx/posts.json

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

Resultados do teste:

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

Você não tem permissão para visualizar o recurso solicitado. O nome de usuário ou a chave da API são inválidos.

Motivo do erro:

O uso de chinês no cabeçalho é inválido, ele precisa ser codificado por encodeURI() para ser transmitido ao servidor, mas o servidor precisa decodificar decodeURI() para reconhecê-lo.

Sugere-se adicionar um julgamento, se não for encontrado, tentar decodificarURI, corresponder ao nome de usuário.