Nomi utente Unicode

Cosa stai usando? L’errore sembra Python? Questo è supportato da requests ma possibilmente non dalle librerie che stai usando.

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'}

Prova a chiamare .encode() per convertire esplicitamente il valore dell’header in bytes… anche se, ammettiamolo, poiché non tutto è pulito a 8 bit, sono d’accordo con questo suggerimento:

è ragionevole.