среда: OS xUbuntu 18.04.4; Python 3.6.9; httplib2 == 0.9.2
Я использую httplib2 в таком Python коде (для некоторого тестирования REST POST-запросов):
import httplib2, json
httplib2.debuglevel = 4
h = httplib2.Http('.cache')
data = {"quantity": 1,"product": 15, "product_code": "1004"}
data = json.dumps(data)
restEndpointURL='http://localhost:8000/shop/api/cart/?format=json'
h.add_credentials('a_login', 'a_password', 'localhost')
headersDict={'Content-Type':'application/json','accept':'application/json'}
response, content = h.request(restEndpointURL,'POST',data,headers=headersDict)
Согласно этому коду (httplib2.debuglevel и add_credentials) Я предполагаю увидеть в выводе отладки httplib2 что-то вроде:
Авторизация: Basi c blablabla
но там ничего нет вот так.
Итак, мне нужны идеи - как проверить, что именно было отправлено httplib2 на сервер?
ОБНОВЛЕНО. Что ж, похоже, код h.add_credentials('a_login', 'a_password', 'localhost')
вообще не работает. Я проверил его, добавив функцию регистрации запросов к моему бэкэнду (это сервер django -shop), а затем выполнив тот же POST-запрос через утилиту curl с соответствующим параметром --user. Итак, используя команду curl, я получил то, что ожидал увидеть - 'Авторизация': 'Basi c blablabla' в журнале (словарь заголовков), но используя httplib2 с add_credentials, я не получил ничего подобного . ОБНОВЛЕНО-2. Я обновил свой httplib2 с его официального репозитория github до версии 0.18.1 (gzip) (последней) - и получил тот же результат.