Python3 httplib2 - как увидеть учетные данные, добавленные add_credentials? - PullRequest
0 голосов
/ 03 августа 2020

среда: 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) (последней) - и получил тот же результат.

...