Мои навыки написания сценариев очень базовые c. Я пытаюсь адаптировать фрагмент Python 2, который я нашел здесь, к Python 3.
У меня проблемы с форматированием этой строки (я понимаю, что ему нужен байтовый объект, но не могу получить это работать).
headers["Authorization"] = "Basic {0}".format(
base64.b64encode("{0}:{1}".format('auth', 'login')))
Полный фрагмент:
import base64, http.client
headers = {}
body = '/api/2.1/xml-in'
headers["Authorization"] = "Basic {0}".format(
base64.b64encode("{0}:{1}".format('auth', 'login')))
headers["Content-type"] = "application/xml"
# the XML we ll send to Freshbooks
XML = """<?xml version="1.0" encoding="utf-8"?>
<request method="task.list">
<page>1</page>
<per_page>15</per_page>
</request>"""
# Enable the job
conn = http.client.HTTPSConnection('sample.freshbooks.com')
conn.request('POST', body, None, headers)
resp = conn.getresponse()
print(resp.status)
conn.send(XML)
print(resp.read())
conn.close()
Я пробовал следующее, но затем получаю сообщение об ошибке форматирования str:
headers["Authorization"] = "Basic {0}".format(
base64.b64encode("%b:%b" % b'auth', b'login'))
Любая помощь будет очень признателен. Спасибо.