我试图在Python3中建立HTTPS连接,当我try 对用户名和密码进行编码时,base64 encodebytes方法会在"\n"结尾处返回编码值,因此我在try 连接时出错.

有没有办法告诉base64库在编码时不要附加一个新行字符,或者删除这个新行字符的最佳方法是什么?我try 使用replace方法,但出现以下错误:

Traceback (most recent call last):
  File "data_consumer.py", line 33, in <module>
    auth_base64 = auth_base64.replace('\n', '')
TypeError: expected bytes, bytearray or buffer compatible object

我的代码:

auth = b'username@domain.com:passWORD'
auth_base64 = base64.encodebytes(auth)
auth_base64 = auth_base64.replace('\n', '')

有什么 idea 吗?谢谢

推荐答案

而不是encodestring考虑使用b64encode.Later不会添加\n个字符.例如

In [11]: auth = b'username@domain.com:passWORD'

In [12]: base64.encodestring(auth)
Out[12]: b'dXNlcm5hbWVAZG9tYWluLmNvbTpwYXNzV09SRA==\n'

In [13]: base64.b64encode(auth)
Out[13]: b'dXNlcm5hbWVAZG9tYWluLmNvbTpwYXNzV09SRA=='

除了\n之外,它产生相同的编码字符串

Python-3.x相关问答推荐

使用Python请求从特定URL下载图像时出错

字符串块数组:如何根据一个数组中的元素对另一个数组中的元素进行分组

TypeError:&Quot;Value&Quot;参数必须是标量、Dict或Series,但您传递了&Quot;Index&Quot;

如何检索与美汤相似的标签中的文本?

十进制浮点数到整型的转换错误

我应该如何调整我的变量,以便如果有任何单词符合其中的条件,程序会将其附加到新列表中?

在不改变 python 中原始数组顺序的情况下,对多维字符串数组进行降序排序?

当参数名称与 typing.Protocol 中定义的名称不同时发生 mypy 错误

如何在pyspark的列中按连续1分组并保持具有特定大小的组

Python.在循环中填充字典的问题

使用 RANSAC 在激光雷达点云中查找电力线

如何将元组列表拆分为两个单独的列表?

找到操作系统的图片文件夹的 CLI

将字典列表展平为数据框列

Python3 AttributeError:列表对象没有属性清除

Python 3x 的最佳机器学习包?

在 Python 3 中使用 unittest.mock 修补 input()

如何等待 create_task() 创建的任务完成?

SQLAlchemy:如果不存在则创建模式

TypeError:无法实例化类型元组;使用 tuple() 代替