Unicode 用户名

答案是肯定的。
似乎只有非拉丁用户名的用户在我的情况下存在问题。

(此 api_key 已被我立即撤销,因此不存在泄露风险。)

我想知道这个特定的网站是否以不同的方式安装,也许前面还有另一个代理?

它确实在代理后面。我不确定,也许那产生了影响?

我怀疑代理可能是原因。

你能直接将请求发送到真实服务器的 IP 地址,看看会得到什么结果吗?

这样我们就能知道是否是 Cloudflare 在干扰。

我也尝试过,对我来说似乎也不起作用

如果将 .encode() 应用于中文字符用户名,或 urllib.parse.quote()

    headers = {
        'Api-Key': API_KEY,
        'Api-Username': '大帅哥'.encode()
    }

    # 或者 urllib parse
    headers = {
        'Api-Key': API_KEY,
        'Api-Username': urllib.parse.quote(API_USERNAME)
    }

我会收到错误

Failed to create post. Status code: 403
{'errors': ['您没有权限查看请求的资源。API 用户名或者密钥无效。'], 'error_type': 'invalid_access'}

但是,如果不使用 .encode()

    headers = {
        'Api-Key': API_KEY,
        'Api-Username': '大帅哥'
    }

我会收到错误

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)

也尝试创建用户名,只使用了编码字符串 \"username\": \"\\xe5\\xa4\\xa7\\xe5\\xb8\\x85\\xe5\\x93\\xa5\",但似乎也不起作用,我猜是因为它没有被正确解码

什么语言和语言版本?

it’s chinese characters
not sure how to check the language version tho…
thanks Michael

那些问题是关于编程语言的 :smiley:

4 个赞