我正在尝试使用相当长(1017 个字符)的承载令牌向我的 API 发出 POST 请求以进行授权。
无论我尝试什么,当我启动请求时,我都会收到一条错误消息,指出\u2026
位置 512 中的(水平省略号)无法使用“latin-1”编码进行编码。由于我找不到我指定的标头的任何问题(或省略号),我唯一的解释是请求模块在内部默默地截断了我的令牌。难道是这样吗?可以禁用吗?还有其他解决方法吗?
我正在尝试使用相当长(1017 个字符)的承载令牌向我的 API 发出 POST 请求以进行授权。
无论我尝试什么,当我启动请求时,我都会收到一条错误消息,指出\u2026
位置 512 中的(水平省略号)无法使用“latin-1”编码进行编码。由于我找不到我指定的标头的任何问题(或省略号),我唯一的解释是请求模块在内部默默地截断了我的令牌。难道是这样吗?可以禁用吗?还有其他解决方法吗?
Python 本身的requests模块不应截断标头。
您所描述的错误可能与不记名令牌中的非 ASCII 字符的编码或处理有关。
您可以尝试将您的token打印到控制台并检查出现错误的位置(并确保显示的token的有效性)。
另外,您可以尝试将打印的令牌复制并粘贴到例如 Notepad++ 中,并启用特殊字符来检查是否存在某些“不可读”字符。
或者,尝试使用“utf-8”对您的承载令牌进行编码。
不,它不会截断标头。您可以通过运行打印所有收到的请求的 localhost http 服务器来查看这一点。以下是使用 2000 个字符标记的示例。
在本地主机上运行它,然后使用 requests 来发布请求:
产生以下输出: