Noms d'utilisateur Unicode

Qu’utilisez-vous ? L’erreur ressemble à du Python ? Ceci est pris en charge par requests mais potentiellement pas par les bibliothèques que vous utilisez.

In [1]: import requests

In [2]: api_key = '«redacted»'

In [3]: r = requests.get('https://try.discourse.org/u/运思/notifications.json', headers = {
  'api-key': api_key,
  'api-username': '运思'.encode()
})

In [4]: r.status_code
Out[4]: 200

In [5]: r.json()['users'][0]
Out[5]:
{'id': 41,
 'username': '运思',
 'name': 'Michael Brown',
 'avatar_template': '/user_avatar/try.discourse.org/运思/{size}/208_2.png',
 'trust_level': 1,
 'assign_icon': 'user-plus',
 'assign_path': '/u/运思/activity/assigned'}

Essayez d’appeler .encode() pour convertir explicitement la valeur de l’en-tête en bytes… bien qu’il soit vrai que puisque tout n’est pas propre sur 8 bits, je suis d’accord avec cette suggestion :

est raisonnable.